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

输出



相关文章