如何在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)输出

广告
数据结构
网络
关系数据库管理系统(RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP