使用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);")

示例

滾動到頁面底部的程式碼實現

from selenium import webdriver
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**方法,並將**argument index.click()**和要單擊的**webelement**作為引數傳遞給該方法。

語法

s = driver.find_element_by_css_selector("#id")
driver.execute_script("arguments[0].click();",s)

示例

執行諸如單擊之類的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)

輸出

更新於:2020年10月26日

659 次瀏覽

啟動你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.