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中使用wxPython开发的一个简易笔记本程序实例
Feb 08 Python
python批量提取word内信息
Aug 09 Python
python操作 hbase 数据的方法
Dec 18 Python
Python字符串拼接六种方法介绍
Dec 18 Python
python模仿网页版微信发送消息功能
Feb 24 Python
Python中Numpy包的安装与使用方法简明教程
Jul 03 Python
python引入不同文件夹下的自定义模块方法
Oct 27 Python
解决python写入带有中文的字符到文件错误的问题
Jan 31 Python
Pandas删除数据的几种情况(小结)
Jun 21 Python
Python random模块制作简易的四位数验证码
Feb 01 Python
基于Python3.7.1无法导入Numpy的解决方式
Mar 09 Python
Python基于codecs模块实现文件读写案例解析
May 11 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
一个更简单的无限级分类菜单代码
2007/01/16 PHP
不要轻信 PHP_SELF的安全问题
2009/09/05 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
PHP如何防止XSS攻击与XSS攻击原理的讲解
2019/03/22 PHP
php集成开发环境详解
2019/09/24 PHP
javascript 特殊字符串
2009/02/25 Javascript
JavaScript定时器详解及实例
2013/08/01 Javascript
常见的原始JS选择器使用方法总结
2014/04/09 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
AngularJS 2.0新特性有哪些
2016/02/18 Javascript
JS命令模式例子之菜单程序
2016/10/10 Javascript
jquery实现图片上传前本地预览
2017/04/28 jQuery
微信小程序显示下拉列表功能【附源码下载】
2017/12/12 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
原生JS利用transform实现banner的无限滚动示例代码
2020/06/15 Javascript
Python装饰器基础详解
2016/03/09 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Python搭建HTTP服务过程图解
2019/12/14 Python
Python socket服务常用操作代码实例
2020/06/22 Python
如何一键升级Python所有包
2020/11/05 Python
Python包资源下载路径报404解决方案
2020/11/05 Python
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
在C语言中实现抽象数据类型什么方法最好
2014/06/26 面试题
大学生在校学习的自我评价
2014/02/18 职场文书
《小松树和大松树》教学反思
2014/02/20 职场文书
学习保证书范文
2014/04/30 职场文书
个人自我剖析材料
2014/09/30 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
遗失说明具结保证书
2015/02/26 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
赡养老人协议书范本
2015/08/06 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
利用javaScript处理常用事件详解
2021/04/14 Javascript