自动化测试 | alert处理

alert处理:

switch_to.alert.dismiss() 是 Selenium WebDriver 中用于处理浏览器弹出框(如警告框、确认框和提示框)的一个方法。它允许你关闭(即"dismiss")当前显示的 JavaScript 弹出框,而不需要进行任何确认或输入;反之switch_to.alert.accept()方法则是用于接受(或确认)当前显示的 JavaScript 弹出框。

使用场景

  • dismiss(),当你需要自动化测试一个网页,而该网页在某个操作中会弹出一个警告框,但你希望忽略该警告框并继续执行后续操作时。
  • accept(),当你需要自动化测试一个网页,而该网页在某个操作中会弹出一个确认框,你希望确认该框并继续执行后续操作时。

测试脚本代码:

python 复制代码
# 导包
from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
# 获取浏览器驱动对象
driver = webdriver.Chrome()

# 最大化浏览器
driver.maximize_window()

# 隐性等待
driver.implicitly_wait(30)

# 打开url
url = r"D:\Learn\autoTest\rescource\注册A.html"
driver.get(url)

# 定位alert按钮并点击
driver.find_element(By.CSS_SELECTOR, "#alerta").click()

# 切换 到alert
# 默认返回的alert对话框对象
# 处理 对话框
# 同意
#driver.switch_to.alert.accept()
# 取消
driver.switch_to.alert.dismiss()

# 定位 用户名 输入admin
driver.find_element(By.CSS_SELECTOR, "#userA").send_keys("admin")

# 暂停5秒
sleep(5)

# 关闭驱动对象
driver.quit()
相关推荐
骚戴19 小时前
深入解析:Gemini 3.0 Pro 的 SSE 流式响应与跨区域延迟优化实践
java·人工智能·python·大模型·llm
smj2302_7968265219 小时前
解决leetcode第3777题使子字符串变交替的最少删除次数
python·算法·leetcode
0思必得020 小时前
[Web自动化] CSS基础概念和介绍
前端·css·python·自动化·html·web自动化
计算机徐师兄20 小时前
Python基于Django的MOOC线上课程推荐数据分析与可视化系统(附源码,文档说明)
python·数据分析·django·慕课线上课程推荐·慕课线上课程推荐可视化系统·pytho线上课程推荐可视化·线上课程推荐数据分析可视化系统
free-elcmacom20 小时前
Python实战项目<2>使用Graphviz绘制流程框图
开发语言·python·graphviz
ljuncong20 小时前
python的装饰器怎么使用
开发语言·python
该用户已不存在20 小时前
没有这7款工具,难怪你的Python这么慢
后端·python
serve the people20 小时前
tensorflow 零基础吃透:RaggedTensor 的不规则形状与广播机制 2
人工智能·python·tensorflow
Hello.Reader20 小时前
Flink ML 基本概念Table API、Stage、Pipeline 与 Graph
大数据·python·flink
chen_note20 小时前
Python面向对象、并发编程、网络编程
开发语言·python·网络编程·面向对象·并发编程