如何在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.com/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.com/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.