使用 Python 和 Selenium 检查是否存在任何警告。
我们可以使用 Selenium 浏览器驱动程序检查是否存在警告。在网页上设计警告是为了通知用户或针对警告执行某些操作。它在 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 with maximize_window() driver.maximize_window() driver.get("https://tutorialspoint.com/selenium/selenium_automation_practice.htm") # identify element and click() l=driver.find_element_by_name("submit") l.click() // alert_is_present() expected condition wait for 5 seconds 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()
输出
广告