Selenium alert 弹窗处理的示例代码

时间:2021-05-22

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 webdriverfrom time import sleepdriver = 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 Messagealert.accept() # 接受sleep(2)driver.quit() # 关闭浏览器

    confirm(确认信息)弹出框

    confirm(确认信息)弹出框,主要是让用户来确定是否要执行某个操作。比如,淘宝,京东等,删除订单是弹出此类弹出,让用户确定是否删除,避免用户误操作。

    confirm(确认信息)弹出框提供两种选择,“确认” 或者 “取消”。只需要选择其中一个即可:

    • 确认:WebDriver.switch_to.alert.accept()
    • 取消:WebDriver.switch_to.alert.dismiss()
    from selenium import webdriverfrom time import sleepdriver = 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 Messagealert.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 webdriverfrom time import sleepdriver = 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 Messagealert.send_keys("自动化测试") # 输入内容sleep(1)alert.accept() # 接受sleep(2)driver.quit() # 关闭浏览器

    注意 : 有些弹窗并非浏览器的 alert 窗口,而是 html元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。

    总结

    到此这篇关于Selenium alert 弹窗处理的示例代码的文章就介绍到这了,更多相关Selenium alert 弹窗内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章