如何使用 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.tw/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()
廣告