Selenium处理Alert弹窗

页面弹窗有 3 种类型:

alert(警告信息)
confirm(确认信息)
prompt(提示输入)

对于页面出现的 alert 弹窗,Selenium 提供如下方法:

序号    方法/属性    描述
1    accept()    接受
2    dismiss()    取消
3    text    获取显示的文本
4    send_keys()    输入内容

对应处理方式:

alert(警告信息):WebDriver.switch_to.alert.accept()
confirm(确认信息):
    WebDriver.switch_to.alert.accept()
    WebDriver.switch_to.alert.dismiss()
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元素,对于这种对话框,只需要通过之前介绍的选择器选中,并进行相应的操作即可。

总结

https://www.cnblogs.com/yoyoketang/p/6128648.html

相关推荐

  1. 小程序

    2024-02-01 14:44:01       39 阅读
  2. 鸿蒙:警告

    2024-02-01 14:44:01       28 阅读
  3. CSS<span style='color:red;'>弹</span><span style='color:red;'>窗</span>

    CSS

    2024-02-01 14:44:01      7 阅读
  4. flutter 底部和中间

    2024-02-01 14:44:01       40 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-01 14:44:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-01 14:44:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-01 14:44:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-01 14:44:01       18 阅读

热门阅读

  1. Android studio布局详解

    2024-02-01 14:44:01       36 阅读
  2. 达梦数据库存储过程

    2024-02-01 14:44:01       28 阅读
  3. vue3:中warch监听的几种写法

    2024-02-01 14:44:01       36 阅读
  4. ModuleNotFoundError: No module named ‘flask._compat‘

    2024-02-01 14:44:01       29 阅读
  5. rsync将远程文件同步到本地

    2024-02-01 14:44:01       32 阅读
  6. Docker加固策略,防止攻击

    2024-02-01 14:44:01       29 阅读
  7. Unity3D 如何获取动态生成的物体的数据详解

    2024-02-01 14:44:01       38 阅读
  8. 提升小波变换的程序演示

    2024-02-01 14:44:01       25 阅读