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