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 相关文章推荐
利用QT写一个极简单的图形化Python闹钟程序
Apr 07 Python
python的else子句使用指南
Feb 27 Python
python常用函数详解
Sep 13 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
Apr 27 Python
基于python OpenCV实现动态人脸检测
May 25 Python
Python3之简单搭建自带服务器的实例讲解
Jun 04 Python
python中int与str互转方法
Jul 02 Python
python 实现交换两个列表元素的位置示例
Jun 26 Python
创建Shapefile文件并写入数据的例子
Nov 26 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
Django一小时写出账号密码管理系统
Apr 29 Python
pd.DataFrame中的几种索引变换的实现
Jun 16 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/02/25 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
解决PHP上传非标准格式的图片pjpeg失败的方法
2017/03/12 PHP
jQuery Ajax之load()方法
2009/10/12 Javascript
jquery.jstree 增加节点的双击事件代码
2010/07/27 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
ArtEditor富文本编辑器增加表单提交功能
2016/04/18 Javascript
深入理解JS addLoadEvent函数
2016/05/20 Javascript
微信小程序 icon组件详细及实例代码
2016/10/25 Javascript
利用jQuery.Validate异步验证用户名是否存在(推荐)
2016/12/09 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
使用vue-cli编写vue插件的方法
2018/02/26 Javascript
jQuery实现常见的隐藏与展示列表效果示例
2018/06/04 jQuery
基于vue.js实现分页查询功能
2018/12/29 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
[44:58]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第二场
2018/04/06 DOTA
Django在Win7下的安装及创建项目hello word简明教程
2014/07/14 Python
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
详解Python map函数及Python map()函数的用法
2017/11/16 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Python pymsql模块的使用
2020/09/07 Python
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
DELPHI面试题研发笔试试卷
2015/11/08 面试题
仓库管理计划书
2014/05/04 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python
python实现一个简单的贪吃蛇游戏附代码
2022/06/28 Python