使用 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()

输出

更新时间: 2020 年 8 月 28 日

超过 3K 次观看

开启你的 职业生涯

通过完成课程获得认证

开始
广告