页面弹窗有 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元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。
总结
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。