如何使用 Selenium Python 处理“插件被阻止”弹出窗口?


我们可以使用 Python 中的 Selenium webdriver 处理插件弹出窗口。每当页面上出现弹出窗口时,我们都无法检查弹出窗口内的元素并识别它们。

此外,为了访问页面上的其他元素,我们必须首先接受默认值才能访问主页。要与弹出窗口进行交互,我们必须借助 switch_to.alert() 方法显式地转移驱动程序焦点。

弹出窗口主要包含一条消息以及 Ok 和 Cancel 按钮,分别用于接受和取消弹出窗口。要接受弹出窗口,可以使用 switch_to.alert().accept() 方法。

要取消弹出窗口,可以使用 switch_to.alert().dismiss() 方法。要获取弹出窗口上的文本,我们必须使用 switch_to.alert().text 方法。

语法

driver.switch_to.alert.text
driver.switch_to.alert.accept()
driver.switch_to.alert.dismiss()

我们不妨尝试获取弹出窗口上的文本。

示例

from selenium import webdriver
from selenium.webdriver.common.alert import Alert
#set chromodriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
#launch URL
driver.get("http://www.uitestpractice.com/Students/Switchto")
#identify element
m = driver.find_element_by_id("confirm")
m.click()
#switch to popup
driver.switch_to.alert
#obtain text
p = driver.switch_to.alert.text
print("Text is: ")
print(p)
#accept popup
driver.switch_to.alert.accept()
m.click()
#dismiss popup
driver.switch_to.alert.dismiss()
#close browser
driver.close()

输出

更新于: 08-Apr-2021

3K+ 次浏览

启动您的 职业

完成课程以获得认证

开始
广告