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发送邮件实例
Jan 10 Python
Python的mysql数据库的更新如何实现
Jul 31 Python
python绘制中国大陆人口热力图
Nov 07 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
Apr 16 Python
Python向excel中写入数据的方法
May 05 Python
在pycharm中显示python画的图方法
Aug 31 Python
Centos7 下安装最新的python3.8
Oct 28 Python
使用matlab或python将txt文件转为excel表格
Nov 01 Python
pytorch torchvision.ImageFolder的用法介绍
Feb 20 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
Python 串口通信的实现
Sep 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
PHP连接access数据库
2008/03/27 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP动态柱状图实现方法
2015/03/30 PHP
CI框架数据库查询之join用法分析
2016/05/18 PHP
php自定义函数实现二维数组排序功能
2016/07/20 PHP
用JavaScript事件串连执行多个处理过程的方法
2007/03/09 Javascript
javascript form 验证函数 弹出对话框形式
2009/06/23 Javascript
WEB高性能开发之疯狂的HTML压缩
2010/06/19 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
js给dropdownlist添加选项的小例子
2013/03/04 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
Vue项目引进ElementUI组件的方法
2018/11/11 Javascript
微信小程序用户位置权限的获取方法(拒绝后提醒)
2018/11/15 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
计算机二级python学习教程(3) python语言基本数据类型
2019/05/16 Python
自定义Django默认的sitemap站点地图样式
2020/03/04 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
详解Selenium-webdriver绕开反爬虫机制的4种方法
2020/10/28 Python
Pandas中两个dataframe的交集和差集的示例代码
2020/12/13 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
X/HTML5 和 XHTML2
2008/10/17 HTML / CSS
2014年公司庆元旦活动方案
2014/03/05 职场文书
《登鹳雀楼》教学反思
2014/04/09 职场文书
运动会口号8字
2014/06/07 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
2014年营业员工作总结
2014/11/18 职场文书
团代会开幕词
2015/01/28 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年中学团委工作总结
2015/07/22 职场文书
担保书格式范文
2015/09/22 职场文书
2019年聘任书的写作格式及范文!
2019/07/03 职场文书
python游戏开发Pygame框架
2022/04/22 Python
Pandas实现批量拆分与合并Excel的示例代码
2022/05/30 Python