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 相关文章推荐
使用setup.py安装python包和卸载python包的方法
Nov 27 Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
Python的Socket编程过程中实现UDP端口复用的实例分享
Mar 19 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
使用python实现mqtt的发布和订阅
May 05 Python
Python多进程方式抓取基金网站内容的方法分析
Jun 03 Python
使用python绘制温度变化雷达图
Oct 18 Python
pycharm双击无响应(打不开问题解决办法)
Jan 10 Python
python集合能干吗
Jul 19 Python
Python系统公网私网流量监控实现流程
Nov 23 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内核探索之变量
2015/12/22 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
用js脚本控制asp.net下treeview的NodeCheck的实现代码
2010/03/02 Javascript
jqgrid 简单学习笔记
2011/05/03 Javascript
初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
2011/12/26 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
2013/12/24 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
浅谈jQuery中height与width
2015/07/06 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
2015/12/12 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
2017/01/10 Javascript
AngularJS路由删除#符号解决的办法
2017/09/28 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
javascript创建元素和删除元素实例小结
2019/06/19 Javascript
vue实现日历备忘录功能
2020/09/24 Javascript
vue项目中自定义video视频控制条的实现代码
2020/04/26 Javascript
js实现时间日期校验
2020/05/26 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
[02:08]我的刀塔不可能这么可爱 胡晓桃_1
2014/06/20 DOTA
使用Protocol Buffers的C语言拓展提速Python程序的示例
2015/04/16 Python
python中的lambda表达式用法详解
2016/06/22 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
python中如何使用insert函数
2020/01/09 Python
属性与 @property 方法让你的python更高效
2020/09/21 Python
java关于string最常出现的面试题整理
2021/01/18 Python
HTML5 Canvas+JS控制电脑或手机上的摄像头实例
2014/05/03 HTML / CSS
印度购物网站:TATA CLiQ
2017/11/23 全球购物
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
Servlet都有哪些方法?主要作用是什么?
2014/03/04 面试题
本科毕业自我鉴定
2014/03/20 职场文书
销售目标责任书
2014/07/23 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
小学生法制教育心得体会
2016/01/14 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python