使用 Python 的 Selenium 检查是否存在警报。
seleniumautomation testingtesting tools更新于 2026/1/8 5:22:17
我们可以使用 Selenium WebDriver 检查是否存在警报。警报设计在网页上,用于通知用户或根据警报执行某些操作。它借助 Javascript 实现。
警报可以分为三种类型:提示、确认对话框或警报。Selenium 提供多个 API 来处理带有 Alert 接口的警报。为了检查警报是否存在,我们将在同步中使用显式等待的概念。
众所周知,显式等待是基于特定元素的预期条件而开发的。对于警报,我们将在特定等待时间后验证alert_is_present是否存在。如果存在,我们将接受它。整个验证过程应在 try except 代码块内进行。

让我们看看上述警报是否存在于页面中。WebDriverWait 类与 ExpectedCondition 一起用于显式等待条件。
示例
代码实现。
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
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
# 使用 maximize_window() 进行最大化
driver.maximize_window()
driver.get("https://www.tutorialspoint.com/selenium/selenium_automation_practice.htm")
# 识别元素并点击
l=driver.find_element_by_name("submit")
l.click()
// alert_is_present() 预期条件等待 5 秒
try:
WebDriverWait(driver, 5).until (EC.alert_is_present())
// switch_to.alert for switching to alert and accept
alert = driver.switch_to.alert
alert.accept()
print("alert Exists in page")
except TimeoutException:
print("alert does not Exist in page")
driver.close()
输出


