如何使用 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+ 次瀏覽

啟動您的 職業

完成課程以獲得認證

開始
廣告
© . All rights reserved.