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中下划线的使用方法
Mar 27 Python
Python中的错误和异常处理简单操作示例【try-except用法】
Jul 25 Python
Python字典操作详细介绍及字典内建方法分享
Jan 04 Python
利用Python写一个爬妹子的爬虫
Jun 08 Python
详解Python requests 超时和重试的方法
Dec 18 Python
Python lxml解析HTML并用xpath获取元素的方法
Jan 02 Python
Python设计模式之适配器模式原理与用法详解
Jan 15 Python
对python3中, print横向输出的方法详解
Jan 28 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
Python脚本如何在bilibili中查找弹幕发送者
Jun 04 Python
解决python便携版无法直接运行py文件的问题
Sep 01 Python
Python return语句如何实现结果返回调用
Oct 15 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使用NumberFormatter格式化货币的方法
2015/03/21 PHP
教大家制作简单的php日历
2015/11/17 PHP
php之可变变量的实例详解
2017/09/12 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
jquery offset函数应用实例
2012/11/14 Javascript
分享一个我自己写的ToolTip提示插件(附源码)
2013/01/20 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
Jquery实现仿腾讯微博发表广播
2014/11/17 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
基于OL2实现百度地图ABCD marker的效果
2015/10/01 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
Iphone手机、安卓手机浏览器控制默认缩放大小的方法总结(附代码)
2017/08/18 Javascript
从对象列表中获取一个对象的方法,依据关键字和值
2017/09/20 Javascript
AngularJS 将再发布一个重要版本 然后进入长期支持阶段
2018/01/31 Javascript
vue结合element-ui使用示例
2019/01/24 Javascript
vue props 单项数据流实例分享
2020/02/16 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[01:24:34]2014 DOTA2华西杯精英邀请赛5 24 DK VS LGD
2014/05/25 DOTA
Python实现多线程抓取网页功能实例详解
2017/06/08 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python dataframe NaN处理方式
2019/12/26 Python
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
自查自纠工作总结
2014/10/15 职场文书
业务员辞职信范文
2015/03/02 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
mysql数据库入门第一步之创建表
2021/05/14 MySQL
java设计模式--原型模式详解
2021/07/21 Java/Android
Spring Boot DevTools 全局配置学习指南
2022/03/31 Java/Android
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android