如何在 Python 中使用 Selenium 執行 Javascript?
我們可以在 Python 的 Selenium webdriver 中執行 Javascript。文件物件模型 (DOM) 透過 Javascript 的幫助與頁面上的元素進行通訊。Selenium 透過使用 **execute_script** 方法來執行 Javascript 命令。要執行的命令作為引數傳遞給該方法。
一些操作,例如頁面向下滾動,無法直接透過 Selenium 方法執行。這可以透過 **Javascript 執行器** 來實現。**window.scrollTo** 方法用於執行滾動操作。沿 x 軸水平滾動的畫素和沿 y 軸垂直滾動的畫素作為引數傳遞給該方法。
語法
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")示例
滾動到頁面底部的程式碼實現。
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://tutorialspoint.tw/tutor_connect/index.php")
# to scroll till page bottom
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")我們還可以使用 Selenium 中的 Javascript 執行器執行諸如點選連結之類的 Web 操作。我們將使用 execute_script 方法並將引數 index.click() 和要點選的 webelement 作為引數傳遞給該方法。
語法
s = driver.find_element_by_css_selector("#id")
driver.execute_script("arguments[0].click();",s)示例
執行點選等 Web 操作的程式碼實現。
執行點選等 Web 操作的程式碼實現。
from selenium import webdriver
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://tutorialspoint.tw/index.htm")
# to identify element and then click
s = driver.find_element_by_xpath("//*[text()='Library']")
# perform click with execute_script method
driver.execute_script("arguments[0].click();",s)
print("Page title after click: " + driver.title)輸出

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP