☰
selenium判断是否出现弹窗的封装函数
2026/10/25 1:55:49 网站建设 项目流程

selenium判断是否出现弹窗的封装函数

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

def check_alert_present(driver, timeout=3) -> bool:
"
判断页面是否出现原生 Alert 弹窗
:param driver: WebDriver 实例
:param timeout: 最大等待时间(秒)
:return: 存在返回 True,不存在返回 False
"
try:
WebDriverWait(driver, timeout).until(EC.alert_is_present())
return True
except TimeoutException:
return False

在 if 语句中实际调用

if check_alert_present(driver, timeout=3):
alert = driver.switch_to.alert
print(f"检测到原生弹窗,内容为: {alert.text}")
alert.accept() # 或者 alert.dismiss()
else:
print(“未检测到原生弹窗,继续后续操作…”)

只检查你执行代码的那一瞬间网页上有没有弹窗可以直接用语句:
if EC.alert_is_present()(driver):

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询