如何使用 Python 和 Selenium 從 Javascript alert 中提取文字?
我們可以藉助 Alert 類下的 text 方法從 Javascript alert 中提取文字。alert 本質上是瀏覽器彈出視窗,用於駁回或接受輸入的資料。
所有這些操作都是由 Selenium 透過類 selenium.webdriver.common.alert.Alert(driver) 執行的。它具有提取特定 alert 上的文字、接受和駁回這些瀏覽器彈出視窗的方法。
無法透過簡單地從 html 程式碼中偵察來識別 alert 上的元素。這是因為這些被認為是由 Javascript 實現的。
Selenium alert 方法如下所示:
accept() – 此方法接受 alert 彈出視窗。
語法 –
a = Alert(driver) a.accept()
dismiss() – 此方法駁回 alert 彈出視窗。
語法 –
a = Alert(driver) a.dismiss()
send_keys(value) – 此方法在 alert 彈出視窗中鍵入文字。
語法 –
a = Alert(driver)
a.send_keys("Yes")text – 此方法從 alert 彈出視窗中提取文字。
語法 –
a = Alert(driver) print(a.text)
switch_to.alert – 此方法將焦點切換到 alert。
語法 –
a = driver.switch_to.alert
示例
從 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()
a = driver.switch_to.alert
# printing the alert text in console
print(a.text)
# dismissing the alert pop up
a.dismiss()
#to close the browser
driver.close()
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP