方法一:距离滚动
使用 js window 对象的 scrollTo(),传入滚动的距离 (width, height),单位px
driver.execute_script() 执行 js 代码
from selenium import webdriver
from time import sleep
with webdriver.Chrome() as driver:
driver.get('https://www.baidu.com/')
driver.set_window_size(400, 400)
sleep(3)
# 分别向下,向右滚动200像素
driver.execute_script('window.scrollTo(200, 200)')
# 注意观察页面滚动变化
sleep(5)
# 直接滚动到页面底部
driver.execute_script('window.scrollTo(0, document.body.scrollHeight)')
sleep(5)
缺点:受屏幕大小分辨率影响,适用率低
方法二:页面元素
使用 js 的 element 对象的 scrollIntoView()
可选参数 alignToTop:
True(默认) - 元素顶部与可视区域顶端对齐
False - 元素底部与可视区域底端对齐
from selenium import webdriver
from time import sleep
with webdriver.Chrome() as driver:
driver.get('https://www.runoob.com/')
driver.maximize_window()
sleep(5)
# 滚动到“服务端”标题
driver.execute_script("document.querySelector('.cate3 h2').scrollIntoView()")
sleep(5)
运行结果
“服务端” h2 上沿与视窗上沿对齐
# 如果alignToTop设为false
driver.execute_script("document.querySelector('.cate3 h2').scrollIntoView(false)")
运行结果
“服务端” h2 下沿与视窗下沿对齐
版权声明:本文为pp2004266原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。