如何在 Python 中使用 Selenium WebDriver 滚动网页?
seleniumautomation testingtesting tools更新于 2026/1/31 19:37:17
有时我们需要对页面可视区域之外的元素执行操作。我们需要向下滚动页面才能到达该元素。
Selenium 无法直接执行滚动操作。这可以借助 Selenium 中的 Javascript Executor 和 Actions 类来实现。借助 Javascript,DOM 可以作用于网页上的所有元素。
Selenium 可以借助 execute_script() 方法执行 Javascript 命令。对于 Javascript 解决方案,我们必须将 true 值传递给 scrollIntoView() 方法,以识别页面当前位置下方的对象。我们可以借助 Selenium 中的 Actions 类来执行鼠标移动。
示例
使用 Javascript Executor 实现代码。
import time
from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
driver.get("https://www.tutorialspoint.com/index.htm")
# identify element
l= driver.find_element_by_xpath("//*[text()='About Us']")
# Javascript 执行器
driver.execute_script("arguments[0].scrollIntoView(true);", l)
time.sleep(0.4)
driver.close
在使用 Actions 类滚动到视图时,我们必须使用 moveToElement() 方法。此方法将执行鼠标移动到元素中间的操作。
示例
使用 Actions 的代码实现。
from selenium.webdriver import ActionChains
from selenium import webdriver
driver = webdriver.Chrome (executable_path="C:\chromedriver.exe")
driver.get("https://www.tutorialspoint.com/index.htm")
# identify element
I=driver.find_element_by_xpath("//*[text()='About Us']")
# action object creation to scroll
a = ActionChains(driver)
a.move_to_element(l).perform()
输出


