Selenium alert 弹窗处理的示例代码

 更新时间:2020年08月06日 11:37:04   作者:Leofighting  
这篇文章主要介绍了Selenium alert 弹窗处理的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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 弹窗内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python中selenium操作下拉滚动条的几种方法汇总

    python中selenium操作下拉滚动条的几种方法汇总

    这篇文章主要介绍了python中selenium操作下拉滚动条的几种方法汇总,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Pandas统计重复的列里面的值方法

    Pandas统计重复的列里面的值方法

    今天小编就为大家分享一篇Pandas统计重复的列里面的值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • 利用python在excel中画图的实现方法

    利用python在excel中画图的实现方法

    这篇文章主要介绍了利用python在excel中画图的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • Python中logging实例讲解

    Python中logging实例讲解

    在本篇文章里小编给大家分享的是关于Python中logging的详细介绍内容,有兴趣的朋友们跟着学习下。
    2019-01-01
  • python对列表中任意两个数进行操作的实现

    python对列表中任意两个数进行操作的实现

    本文主要介绍了在Python中实现列表中整型元素和数组元素两两相乘或两两相与的操作,具有一定的参考价值,感兴趣的可以了解一下
    2025-01-01
  • Python pandas按行、按列遍历DataFrame的几种方式

    Python pandas按行、按列遍历DataFrame的几种方式

    在python的DataFrame中,因为数据中可以有多个行和列,而且每行代表一个数据样本,我们可以将DataFrame看作数据表,那你知道如何按照数据表中的行遍历吗,下面这篇文章主要给大家介绍了关于Python pandas按行、按列遍历DataFrame的几种方式,需要的朋友可以参考下
    2022-09-09
  • Python中使用socks5设置全局代理的方法示例

    Python中使用socks5设置全局代理的方法示例

    这篇文章主要介绍了Python中使用socks5设置全局代理的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Python利用Nagios增加微信报警通知的功能

    Python利用Nagios增加微信报警通知的功能

    Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等,本文给大家介绍Python利用Nagios增加微信报警通知的功能,需要的朋友参考下
    2016-02-02
  • Python办公自动化之操控远程桌面和文件版本控制

    Python办公自动化之操控远程桌面和文件版本控制

    这篇文章主要为大家详细介绍了Python办公自动化中操控远程桌面和文件版本控制的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下
    2024-01-01
  • Python安全获取域管理员权限几种方式操作示例

    Python安全获取域管理员权限几种方式操作示例

    在不考虑直接攻击域控的情况下,如何快速获取域管理员权限呢?本文分享几种常见的获取域管理员权限的方式,有需要的朋友可以借鉴参考下
    2021-10-10

最新评论