如何在Python中使用Selenium執行JavaScript函式?


我們可以使用Selenium webdriver在Python中執行JavaScript函式。DOM透過JavaScript與元素互動。Selenium能夠使用**execute_script**方法執行JavaScript命令。

一些操作,例如網頁滾動,不能直接透過Selenium完成。為此,我們將使用**JavaScript執行器**。我們將藉助JavaScript命令**window.scrollTo**並將其傳遞給execute_script方法。為了滾動到頁面底部,我們必須將**0**和**document.body.scrollHeight**作為引數傳遞給window.scrollTo。

語法

driver.execute_script("window.scrollTo(0,document.body.scrollHeight);")

示例

from selenium import webdriver
driver = webdriver.Firefox(executable_path="C:\geckodriver.exe")
driver.implicitly_wait(0.5)
driver.get("https://tutorialspoint.tw/index.htm")
#scroll till page bottom
driver.execute_script("window.scrollTo(0,document.body.scrollHeight);)

我們也可以使用JavaScript執行諸如點選連結之類的網頁操作。在這裡,我們也將利用execute_script方法,並將**帶索引的引數**和**元素**作為引數傳遞給該方法。

語法

e = driver.find_element_by_css_selector(".cls")
driver.execute_script("arguments[0].click();",e)

讓我們點選頁面上的**Library**連結。

示例

from selenium import webdriver
driver = webdriver.Firefox(executable_path="C:\geckodriver.exe")
driver.implicitly_wait(0.8)
driver.get("https://tutorialspoint.tw/index.htm")
# to identify element
l = driver.find_element_by_xpath("//*[text()='Library']")
#click with execute_script
driver.execute_script("arguments[0].click();",l)
print("Page title after click: " + driver.title)

輸出

更新於:2021年2月1日

3K+ 瀏覽量

啟動你的職業生涯

完成課程獲得認證

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