Selenium 学习 7 - 滚动条 Scroll

方法一:距离滚动

使用 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版权协议,转载请附上原文出处链接和本声明。