selenium提供switch_to_alert方法:捕获弹出对话框(可以定位alert、confirm、prompt对话框)
switch_to_alert() --定位弹出对话框
text() --获取对话框文本值
accept() --相当于点击“确认”
dismiss() --相当于点击“取消”
send_keys() --输入值(alert和confirm没有输入对话框,所以就不用能用了,只能使用在prompt里)
页面弹窗有 3 种类型:
- alert(警告信息)
- confirm(确认信息)
- prompt(提示输入)
对于页面出现的 alert 弹窗,Selenium 提供如下方法:
序号
方法/属性
描述
1
accept()
接受
2
dismiss()
取消
3
text
获取显示的文本
4
send_keys()
输入内容
对应处理方式:
- alert(警告信息):WebDriver.switch_to.alert.accept()
- confirm(确认信息):
- WebDriver.switch_to.alert.accept()
- WebDriver.switch_to.alert.dismiss()
- prompt(提示输入):WebDriver.switch_to.alert.send_keys()
alert(警告信息)弹出框
alert(警告信息)弹出框,目的是提示通知信息,只需要用户看完点击确认即可。
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打开浏览器 driver.get("http://sahitest.com/demo/alertTest.htm") # 跳转至测试页面 sleep(1) element = driver.find_element_by_name("b1") # 定位 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息:Alert Message alert.accept() # 接受 sleep(2) driver.quit() # 关闭浏览器
confirm(确认信息)弹出框
confirm(确认信息)弹出框,主要是让用户来确定是否要执行某个操作。比如,淘宝,京东等,删除订单是弹出此类弹出,让用户确定是否删除,避免用户误操作。
confirm(确认信息)弹出框提供两种选择,“确认” 或者 “取消”。只需要选择其中一个即可:
- 确认:WebDriver.switch_to.alert.accept()
- 取消:WebDriver.switch_to.alert.dismiss()
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打开浏览器 driver.get("http://sahitest.com/demo/confirmTest.htm") # 跳转至测试页面 sleep(1) element = driver.find_element_by_name("b1") # 定位 # 1、接受 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息:Alert Message alert.accept() # 接受 sleep(2) # 2、取消 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息: alert.dismiss() sleep(2) driver.quit() # 关闭浏览器
prompt(提示输入)弹出框
prompt(提示输入)弹出框,目的是需要用户先输入信息,再做提交。Selenium 提供输入信息的方法是:
WebDriver.switch_to.alert.send_keys()
from selenium import webdriver from time import sleep driver = webdriver.Chrome() # 打开浏览器 driver.get("http://sahitest.com/demo/promptTest.htm") # 跳转至测试页面 sleep(1) element = driver.find_element_by_name("b1") # 定位 # 1、接受 element.click() # 点击 sleep(1) alert = driver.switch_to.alert # 切换到弹窗 print(alert.text) # 打印弹窗显示的信息:Alert Message alert.send_keys("自动化测试") # 输入内容 sleep(1) alert.accept() # 接受 sleep(2) driver.quit() # 关闭浏览器
注意 : 有些弹窗并非浏览器的 alert 窗口,而是 html元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。
总结
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]