web自动化9--弹窗/iframe嵌套,无法获取到

发布时间 2023-05-06 17:23:12作者: 小排顾

 

一、很多时候,会存在iframe嵌套或者弹窗的情况,到时无法获取到页面的元素,那么就需要先把页面属性移动到对应的元素上去

  ①弹窗alert,浏览器自带的弹窗

    先用switch_to_alert()方法切换到alert弹出框上

    

    #点击确认按钮  

    alert.accept()

    #相当于点右上角x,取消弹出框

      alert.dismiss()

  ②弹窗的元素button_confirm

    c = driver.find_element_by_id("confirm")
    c.click()
    # 获取弹窗(进入弹窗)
    confirm = driver.switch_to.alert
    # 获取弹窗文本值
    print("弹窗文本值:", confirm.text)
    # 4.2.4 点击弹窗取消按钮
    confirm.dismiss()

  ③触发弹窗的元素button_prompt,完成send_keys("输入内容")方法
    p = driver.find_element_by_id("prompt")
    p.click()
    # 获取弹窗(进入弹窗)
    prompt = driver.switch_to.alert
     # 获取弹窗文本值
    print("弹窗文本值:", prompt.text)
    # 点击弹窗确定按钮
    prompt.accept()

  ④页面自定义的弹窗

    # JavaScript语法
    j = 'document.getElementById("xxxx").style.display="none";'
    # 使用Python执行JS语句
    driver.execute_script(j)

  还可以通过其他的方式获取,elements时需要注意索引