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中argsort()函数的实例用法
Mar 30 Python
Python字符编码与函数的基本使用方法
Sep 30 Python
详解python中asyncio模块
Mar 03 Python
python3使用SMTP发送HTML格式邮件
Jun 19 Python
python实现杨氏矩阵查找
Mar 02 Python
Python 脚本实现淘宝准点秒杀功能
Nov 13 Python
Python实现钉钉订阅消息功能
Jan 14 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
May 23 Python
Python接收手机短信的代码整理
Aug 02 Python
python计算auc的方法
Sep 09 Python
如何用python写个模板引擎
Jan 14 Python
Spy++的使用方法及下载教程
Jan 29 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
德生9700DX电路分析
2021/03/02 无线电
人尽可用的Windows技巧小贴士之下篇
2007/03/22 PHP
简单实用的.net DataTable导出Execl
2013/10/28 PHP
基于jquery实现图片广告轮换效果代码
2011/07/07 Javascript
对之前写的jquery分页做下升级
2014/06/19 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
使用Promise解决多层异步调用的简单学习心得
2016/05/17 Javascript
基本DOM节点操作
2017/01/17 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
layui layer select 选择被遮挡的解决方法
2019/09/21 Javascript
Python最基本的数据类型以及对元组的介绍
2015/04/14 Python
TensorFlow 合并/连接数组的方法
2018/07/27 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
用Python获取摄像头并实时控制人脸的实现示例
2019/07/11 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
Python配置文件处理的方法教程
2019/08/29 Python
python画微信表情符的实例代码
2019/10/09 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
python3-flask-3将信息写入日志的实操方法
2019/11/12 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
浅谈pycharm导入pandas包遇到的问题及解决
2020/06/01 Python
Python自动化xpath实现自动抢票抢货
2020/09/19 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
马来西亚航空官方网站:Malaysia Airlines
2017/07/28 全球购物
应届生求职推荐信
2013/10/28 职场文书
求职信模版
2013/11/30 职场文书
学前教育学生自荐信范文
2013/12/31 职场文书
春季防火方案
2014/05/10 职场文书
公司投资建议书
2014/05/16 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
财政专业大学生职业生涯规划书
2014/09/17 职场文书
机关职员工作检讨书
2014/10/23 职场文书
教您怎么制定西餐厅运营方案 ?
2019/07/05 职场文书
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android