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创建XML文档
Mar 01 Python
详解Python多线程
Nov 14 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
对Python字符串中的换行符和制表符介绍
May 03 Python
java判断三位数的实例讲解
Jun 10 Python
使用python分析统计自己微信朋友的信息
Jul 19 Python
python实现PID算法及测试的例子
Aug 08 Python
python实现图片压缩代码实例
Aug 12 Python
基于Python实现扑克牌面试题
Dec 11 Python
Python全面分析系统的时域特性和频率域特性
Feb 26 Python
在python中使用nohup命令说明
Apr 16 Python
通过实例了解Python异常处理机制底层实现
Jul 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 header下载函数
2014/01/31 PHP
PHP验证类的封装与使用方法详解
2019/01/10 PHP
解决Laravel5.x的php artisan migrate数据库迁移创建操作报错SQLSTATE[42000]
2020/04/06 PHP
Javascript 入门基础学习
2010/03/10 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
vue.js指令v-model实现方法
2016/12/05 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
vue-router 按需加载 component: () => import() 报错的解决
2020/09/22 Javascript
Python获取apk文件URL地址实例
2013/11/01 Python
从Python的源码来解析Python下的freeblock
2015/05/11 Python
Python对文件操作知识汇总
2016/05/15 Python
Python编码类型转换方法详解
2016/07/01 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
python 读入多行数据的实例
2018/04/19 Python
python docx 中文字体设置的操作方法
2018/05/08 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
Python中常见的数制转换有哪些
2020/05/27 Python
Canvas环形饼图与手势控制的实现代码
2019/11/08 HTML / CSS
美体小铺美国官网:The Body Shop美国
2017/11/10 全球购物
美国马匹用品和马钉购物网站:State Line Tack
2018/08/05 全球购物
医学专业个人求职自荐信格式
2013/09/23 职场文书
大四自我鉴定范文
2013/10/06 职场文书
会计与审计毕业生自荐信范文
2013/12/30 职场文书
年级组长自我鉴定
2014/02/22 职场文书
企业道德讲堂实施方案
2014/03/19 职场文书
科技节口号
2014/06/19 职场文书
2014党的群众路线教育实践活动总结报告
2014/10/31 职场文书
自我推荐信格式模板
2015/03/24 职场文书
五年级数学教学反思
2016/02/16 职场文书
公司会议开幕词
2016/03/03 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书