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语言的优雅之处
Jul 04 Python
python采用requests库模拟登录和抓取数据的简单示例
Jul 05 Python
在Python的Django框架中编写编译函数
Jul 20 Python
python数据结构学习之实现线性表的顺序
Sep 28 Python
Flask之请求钩子的实现
Dec 23 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
Apr 16 Python
wxpython布局的实现方法
Nov 01 Python
Django继承自带user表并重写的例子
Nov 18 Python
python爬虫爬取监控教务系统的思路详解
Jan 08 Python
Python高并发解决方案实现过程详解
Jul 31 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
10个顶级Python实用库推荐
Mar 04 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连接access数据库
2008/03/27 PHP
php查找指定目录下指定大小文件的方法
2014/11/28 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
2016/05/17 PHP
Laravel jwt 多表(多用户端)验证隔离的实现
2019/12/18 PHP
Open and Print a Word Document
2007/06/15 Javascript
jQuery powerFloat万能浮动层下拉层插件使用介绍
2010/12/27 Javascript
JS获取地址栏参数的小例子
2013/08/23 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
关于微信上网页图片点击全屏放大效果
2016/12/19 Javascript
JS实现类似百叶窗下拉菜单效果
2016/12/30 Javascript
详解打造 Vue.js 可复用组件
2017/03/24 Javascript
Bootstrap4如何定制自己的颜色和风格
2018/02/26 Javascript
JS实现的倒计时恢复按钮点击功能【可用于协议阅读倒计时】
2018/04/19 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
微信小程序实现时间进度条功能
2020/11/17 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
[47:55]Ti4第二日主赛事败者组 NaVi vs EG 1
2014/07/20 DOTA
Python中对列表排序实例
2015/01/04 Python
pandas的唯一值、值计数以及成员资格的示例
2018/07/25 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
对python dataframe逻辑取值的方法详解
2019/01/30 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
详细的大学生创业计划书模板
2014/01/27 职场文书
团委竞选演讲稿
2014/04/24 职场文书
大学国际贸易专业自荐信
2014/06/05 职场文书
公司踏青活动方案
2014/08/16 职场文书
2014年学校食堂工作总结
2014/11/25 职场文书
2015年幼儿教师个人工作总结
2015/05/20 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
党风廉政建设心得体会
2019/05/21 职场文书
详解Alibaba Java诊断工具Arthas查看Dubbo动态代理类
2022/04/08 Java/Android