自动化测试 | 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()
相关推荐
在屏幕前出油1 天前
二、Python面向对象编程基础——理解self
开发语言·python
阿方索1 天前
python文件与数据格式化
开发语言·python
信创天地1 天前
信创国产化数据库的厂商有哪些?分别用在哪个领域?
数据库·python·网络安全·系统架构·系统安全·运维开发
不哦罗密经1 天前
python相关
服务器·前端·python
happybasic1 天前
python字典中字段重复性的分析~~
开发语言·python
山海青风1 天前
人工智能基础与应用 - 数据处理、建模与预测流程 6 模型训练
人工智能·python·机器学习
l木本I1 天前
Reinforcement Learning for VLA(强化学习+VLA)
c++·人工智能·python·机器学习·机器人
颖风船1 天前
锂电池SOC估计的一种算法(改进无迹卡尔曼滤波)
python·算法·信号处理
94620164zwb51 天前
应用设置模块 Cordova 与 OpenHarmony 混合开发实战
python
551只玄猫1 天前
KNN算法基础 机器学习基础1 python人工智能
人工智能·python·算法·机器学习·机器学习算法·knn·knn算法