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模拟新浪微博登陆功能(新浪微博爬虫)
Dec 24 Python
python自动12306抢票软件实现代码
Feb 24 Python
python 巧用正则寻找字符串中的特定字符的位置方法
May 02 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
opencv+python实现均值滤波
Feb 19 Python
基于python实现计算且附带进度条代码实例
Mar 31 Python
Django 如何使用日期时间选择器规范用户的时间输入示例代码详解
May 22 Python
Python 程序员必须掌握的日志记录
Aug 17 Python
Python模拟登录和登录跳转的参考示例
Oct 30 Python
Jupyter Notebook 如何修改字体和大小以及更改字体样式
Jun 03 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 23 Python
如何利用Python实现n*n螺旋矩阵
Jan 18 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在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
juqery 学习之五 文档处理 插入
2011/02/11 Javascript
ASP.NET中基于JQUERY的高性能的TreeView补充
2011/02/23 Javascript
利用JQuery写一个简单的异步分页插件
2016/03/07 Javascript
关于网页中的无缝滚动的js代码
2016/06/09 Javascript
Javascript中级语法快速入手
2016/07/30 Javascript
关于Function中的bind()示例详解
2016/12/02 Javascript
jQuery Chosen通用初始化
2017/03/07 Javascript
微信小程序 获取session_key和openid的实例
2017/08/17 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
requireJS模块化实现返回顶部功能的方法详解
2017/10/16 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
浅谈Angular6的服务和依赖注入
2018/06/27 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
vue 搭建后台系统模块化开发详解
2019/05/01 Javascript
6种JavaScript继承方式及优缺点(小结)
2020/02/06 Javascript
vue实现匀速轮播效果
2020/06/29 Javascript
对Python中gensim库word2vec的使用详解
2018/05/08 Python
在Pycharm中项目解释器与环境变量的设置方法
2018/10/29 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Matplotlib中文乱码的3种解决方案
2018/11/15 Python
详解Python:面向对象编程
2019/04/10 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
Django多数据库联用实现方法解析
2020/11/12 Python
纯CSS3实现鼠标滑过按钮动画第二节
2020/07/16 HTML / CSS
幼儿园教师工作制度
2014/01/22 职场文书
特色蛋糕店创业计划书
2014/01/28 职场文书
注册资产评估专业求职信
2014/07/16 职场文书
集体生日活动方案
2014/08/18 职场文书
养成教育工作总结
2015/08/13 职场文书
html5移动端禁止长按图片保存的实现
2021/04/20 HTML / CSS
python实现的人脸识别打卡系统
2021/05/08 Python
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android