Selenium alert 弹窗处理的示例代码


Posted in Python onAugust 06, 2020

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() 输入内容

对应处理方式:

  1. alert(警告信息):WebDriver.switch_to.alert.accept()
  2. confirm(确认信息):
    1. WebDriver.switch_to.alert.accept()
    2. WebDriver.switch_to.alert.dismiss()
  3. 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元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。

总结

Selenium alert 弹窗处理的示例代码

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

Python 相关文章推荐
Python生成随机密码的方法
Jun 16 Python
Python探索之Metaclass初步了解
Oct 28 Python
Python基于SMTP协议实现发送邮件功能详解
Aug 14 Python
python写程序统计词频的方法
Jul 29 Python
python的scipy实现插值的示例代码
Nov 12 Python
Python 日期的转换及计算的具体使用详解
Jan 16 Python
python 将视频 通过视频帧转换成时间实例
Apr 23 Python
Python新手学习装饰器
Jun 04 Python
keras 回调函数Callbacks 断点ModelCheckpoint教程
Jun 18 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
Django一小时写出账号密码管理系统
Apr 29 Python
仅用几行Python代码就能复制她的U盘文件?
Jun 26 Python
Python如何进行时间处理
Aug 06 #Python
Python学习笔记之装饰器
Aug 06 #Python
用python实现前向分词最大匹配算法的示例代码
Aug 06 #Python
Python爬虫防封ip的一些技巧
Aug 06 #Python
Python无损压缩图片的示例代码
Aug 06 #Python
通过实例简单了解python yield使用方法
Aug 06 #Python
Python切片列表字符串如何实现切换
Aug 06 #Python
You might like
PHP Cookie的使用教程详解
2013/06/03 PHP
PHP模板引擎Smarty的缓存使用总结
2014/04/24 PHP
PHP基于文件存储实现缓存的方法
2015/07/20 PHP
详解PHP使用Redis存储session时的一个Warning定位
2017/07/05 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
JavaScript传递变量: 值传递?引用传递?
2011/02/22 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
单元选择合并变色示例代码
2014/05/26 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
基于JavaScript实现跳转提示页面
2016/09/24 Javascript
JS调用某段SQL语句的方法
2016/10/20 Javascript
js实现将json数组显示前台table中
2017/01/10 Javascript
使用JavaScript开发跨平台的桌面应用详解
2017/07/27 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
Node配合WebSocket做多文件下载以及进度回传
2019/11/07 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
2019/12/10 Javascript
使用python编写udp协议的ping程序方法
2018/04/22 Python
Python Process多进程实现过程
2019/10/22 Python
python多线程使用方法实例详解
2019/12/30 Python
Pytorch模型转onnx模型实例
2020/01/15 Python
tensorflow模型保存、加载之变量重命名实例
2020/01/21 Python
python中如何使用虚拟环境
2020/10/14 Python
常用的四种CSS透明属性介绍
2014/04/12 HTML / CSS
德尔福集团DELPHI的笔试题
2012/02/22 面试题
就业协议书样本
2014/08/20 职场文书
2014离婚协议书范文
2014/09/10 职场文书
2014年教师工作总结
2014/11/10 职场文书
国家助学金感谢信
2015/01/21 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
收银员岗位职责
2015/02/03 职场文书
基层工作经历证明
2015/06/19 职场文书
北京大学中文系教授推荐的10本小说
2019/08/08 职场文书
再见,2019我们不负使命;你好,2020我们砥砺前行
2020/01/03 职场文书
python实战之90行代码写个猜数字游戏
2021/04/22 Python
pytorch中的model=model.to(device)使用说明
2021/05/24 Python