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中的变量的数据类型
May 13 Python
在Python中用split()方法分割字符串的使用介绍
May 20 Python
Python中shutil模块的常用文件操作函数用法示例
Jul 05 Python
使用python 和 lint 删除项目无用资源的方法
Dec 20 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
python django生成迁移文件的实例
Aug 31 Python
100行Python代码实现每天不同时间段定时给女友发消息
Sep 27 Python
Python with标签使用方法解析
Jan 17 Python
解决paramiko执行命令超时的问题
Apr 16 Python
Python中内建模块collections如何使用
May 27 Python
4种方法python批量修改替换列表中元素
Apr 07 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
收音机史话 - 1960年代前后的DIY
2021/03/02 无线电
写一个用户在线显示的程序
2006/10/09 PHP
php读取html并截取字符串的简单代码
2009/11/30 PHP
php数组查找函数总结
2014/11/18 PHP
四种php中webservice实现的简单架构方法及实例
2015/02/03 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
浅谈php中变量的数据类型判断函数
2017/03/04 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
2018/06/09 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
js下弹出窗口的变通
2007/04/18 Javascript
jQuery实现的多选框多级联动插件
2014/05/02 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
React 实现拖拽功能的示例代码
2019/01/06 Javascript
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
JavaScript 预解析的4种实现方法解析
2019/09/03 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
Python中为什么要用self探讨
2015/04/14 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
Python下载懒人图库JavaScript特效
2015/05/28 Python
Python numpy 常用函数总结
2017/12/07 Python
python用户管理系统的实例讲解
2017/12/23 Python
TensorFlow实现AutoEncoder自编码器
2018/03/09 Python
Python3.5面向对象与继承图文实例详解
2019/04/24 Python
Python3视频转字符动画的实例代码
2019/08/29 Python
python读文件的步骤
2019/10/08 Python
python计算n的阶乘的方法代码
2019/10/25 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
Python3实现建造者模式的示例代码
2020/06/28 Python
python求解汉诺塔游戏
2020/07/09 Python
CSS实现聊天气泡效果
2020/04/26 HTML / CSS
医院后勤自我鉴定
2013/10/13 职场文书
办理退休介绍信
2014/01/09 职场文书
中文师范生自荐信
2014/01/30 职场文书
社区健康教育实施方案
2014/03/18 职场文书
z-index不起作用
2021/03/31 HTML / CSS
关于pytest结合csv模块实现csv格式的数据驱动问题
2022/05/30 Python