如何使用 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()输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP