Python+selenium 警告框处理

switch_to_alert()           切到弹窗
text()                             获取对话窗文本值
accept()                        接受弹窗
dismiss()                       取消弹窗
send_keys()                  输入值(alert和confirm没有输入对话框,所以就不用能用了,只能使用在prompt里)


  • alert 弹窗

弹框只允许"确认"接受提示,如图:

#!/usr/bin/python3
# coding=utf-8

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get("Test.html")
driver.find_element_by_xpath("//input[@onclick='showAlert2()']").click()
sleep(2)
alert = driver.switch_to_alert()     # 切换到alert弹框   
print(alert.text)                    # 获取alert弹框text
alert.accept()                       # 接受alert弹框
driver.quit()
  • confirm

窗口可选择"确认"和"取消"操作,如图:

#!/usr/bin/python3
# coding=utf-8

from selenium import webdriver

driver = webdriver.Chrome()
driver.get("Test.html")
driver.find_element_by_xpath("//input[@onclick='showAlert()']").click()
acc = driver.switch_to_alert()                  # 切换到弹窗
print(acc.text)                                 # 获取弹窗text
acc.accept()                                    # 接受弹窗报警
print(driver.find_element_by_xpath("//font[@style='color: red;']").text)
driver.get("Test.html")
driver.find_element_by_xpath("//input[@onclick='showAlert()']").click()
dis = driver.switch_to_alert()                  # 切换到弹窗
print(dis.text)                                 # 获取弹窗text
dis.dismiss()                                   # 解除弹窗报警
print(driver.find_element_by_xpath("//font[@style='color: red;']").text)
driver.quit()
  • prompt弹窗

窗口不但能进行"确认"和"取消"按钮操作,并有输入框可输入文本进行提交,如图:

#!/usr/bin/python3
# coding=utf-8

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.maximize_window()
driver.get("Test.html")
driver.find_element_by_xpath("//input[@onclick='showPro()']").click()
por = driver.switch_to_alert()              # 切换到pormpt弹窗
por.send_keys('1')
por.accept()                                # 输入1进行提交
sleep(1)
driver.get("Test.html")
driver.find_element_by_xpath("//input[@onclick='showPro()']").click()
por = driver.switch_to_alert()              # 切换到pormpt弹窗   
por.dismiss()                               # 接触警告
sleep(1)
driver.quit()

测试HTML文件:链接:https://pan.baidu.com/s/1opaTcQ2RrzV_sthKy9T-iA   提取码:qzfk 

猜你喜欢

转载自blog.csdn.net/weixin_43507959/article/details/85046560
今日推荐