Selenium alert 弹窗处理

太过爱你忘了你带给我的痛 2022-11-01 00:53 289阅读 0赞

页面弹窗有 3 种类型:

1.alert(警告信息)
2.confirm(确认信息)
3.prompt(提示输入)

对于页面出现的 alert 弹窗,Selenium 提供如下方法:
在这里插入图片描述
对应处理方式:

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(警告信息)弹出框,目的是提示通知信息,只需要用户看完点击确认即可。

  1. from selenium import webdriver
  2. from time import sleep
  3. driver = webdriver.Chrome() # 打开浏览器
  4. driver.get("http://sahitest.com/demo/alertTest.htm") # 跳转至测试页面
  5. sleep(1)
  6. element = driver.find_element_by_name("b1") # 定位
  7. element.click() # 点击
  8. sleep(1)
  9. alert = driver.switch_to.alert # 切换到弹窗
  10. print(alert.text) # 打印弹窗显示的信息:Alert Message
  11. alert.accept() # 接受
  12. sleep(2)
  13. driver.quit() # 关闭浏览器

confirm(确认信息)弹出框

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

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

确认:WebDriver.switch_to.alert.accept()
取消:WebDriver.switch_to.alert.dismiss()

  1. from selenium import webdriver
  2. from time import sleep
  3. driver = webdriver.Chrome() # 打开浏览器
  4. driver.get("http://sahitest.com/demo/confirmTest.htm") # 跳转至测试页面
  5. sleep(1)
  6. element = driver.find_element_by_name("b1") # 定位
  7. # 1、接受
  8. element.click() # 点击
  9. sleep(1)
  10. alert = driver.switch_to.alert # 切换到弹窗
  11. print(alert.text) # 打印弹窗显示的信息:Alert Message
  12. alert.accept() # 接受
  13. sleep(2)
  14. # 2、取消
  15. element.click() # 点击
  16. sleep(1)
  17. alert = driver.switch_to.alert # 切换到弹窗
  18. print(alert.text) # 打印弹窗显示的信息:
  19. alert.dismiss()
  20. sleep(2)
  21. driver.quit() # 关闭浏览器

prompt(提示输入)弹出框

prompt(提示输入)弹出框,目的是需要用户先输入信息,再做提交。Selenium 提供输入信息的方法是:

WebDriver.switch_to.alert.send_keys()

  1. from selenium import webdriver
  2. from time import sleep
  3. driver = webdriver.Chrome() # 打开浏览器
  4. driver.get("http://sahitest.com/demo/promptTest.htm") # 跳转至测试页面
  5. sleep(1)
  6. element = driver.find_element_by_name("b1") # 定位
  7. # 1、接受
  8. element.click() # 点击
  9. sleep(1)
  10. alert = driver.switch_to.alert # 切换到弹窗
  11. print(alert.text) # 打印弹窗显示的信息:Alert Message
  12. alert.send_keys("自动化测试") # 输入内容
  13. sleep(1)
  14. alert.accept() # 接受
  15. sleep(2)
  16. driver.quit() # 关闭浏览器

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

总结

在这里插入图片描述
写在最后

2021年,不要只做收藏从未停止,行动从未开始的人,很多事情,做着做着就无师自通了。如果在做的过程中还能稍微加点思考,稍微看一些别人的经验和做法,成长会更快,效果也会更好!

还不过瘾? 如果我的分享对你有那么一点点启发和帮助,请:

1、点赞。防止以后找不到,想看的时候,在自己主页就能找到了,很方便;
2、关注我和专栏。让我们成为长期关系,下一篇会分享更多的硬核干货;
3、本文来源,公众号:程序员阿沐。这样的好内容,里面还有近百篇。 谢谢你的支持!
在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,289人围观)

还没有评论,来说两句吧...

相关阅读

    相关 封装alert样式

    开发过程中,有些样式也是要注重美观的,对此,我们可以对一些基层方法做一些样式处理,是效果看起来更加的符合整体样式。 function alertInfo(message)\{