如何使用 Python 和 Selenium 处理警报?
我们可以借助许多 API 来处理 Selenium 中的警报。警报基本上是浏览器弹出窗口,用于驳回或接受输入的数据。
所有这些操作都是 Selenium 通过类 `selenium.webdriver.common.alert.Alert(driver)` 完成的。它具有提取特定警报上的文本、接受和驳回浏览器弹出窗口的方法。
不能仅仅通过查看 html 代码来识别警报上的元素。这是因为这些被认为是由 Javascript 实现的。
Selenium 警报方法如下所示:
accept() – 此方法接受警报弹出窗口。
语法 –
a = Alert(driver) a.accept()
dismiss() – 此方法驳回警报弹出窗口。
语法 –
a = Alert(driver) a.dismiss()
send_keys(value) – 此方法在警报弹出窗口中键入文本。
语法 –
a = Alert(driver)
a.send_keys("Yes")text – 此方法从警报弹出窗口中提取文本。
语法 –
a = Alert(driver) print(a.text)
switch_to.alert – 此方法将焦点切换到警报。
语法 –
a = driver.switch_to.alert
示例
使用警报方法的代码实现。
from selenium import webdriver
from selenium.webdriver.common.alert import Alert
#browser exposes an executable file
#Through Selenium test we will invoke the executable file which will then #invoke actual browser
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
# to maximize the browser window
driver.maximize_window()
#get method to launch the URL
driver.get("https://tutorialspoint.com/selenium/selenium_automation_practice.htm")
#to refresh the browser
driver.refresh()
#click on submit button
driver.find_element_by_xpath("//button[@name='submit']").click()
# alert object creation and switching focus to alert
a = driver.switch_to.alert
# accept the alert
a.accept()
driver.close()
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP