通过 selenium 控制浏览器滚动条的三种方式

"""
如果通过 selenium 控制浏览器滚动条:
selenium 没有提供原生的滚动页面方法,所以我们得通过最原始的 js 来控制
原理:通过 driver.execute_script() 执行 js 代码,达到目的

方式一:scrollBy(x, y)
driver.execute_script('window.scrollBy(0, 1000)')
x:必传,正数则向右滑动的像素值,负数则向左滑动的像素值
y:必传,正数则向下滑动的像素值,负数则向上滑动的像素值

方式二:scrollTo(x, y)
driver.execute_script('window.scrollTo(0, 1000)')
x:必传,正数则向右滑动的像素值,负数则向左滑动的像素值
y:必传,正数则向下滑动的像素值,负数则向上滑动的像素值

方式三:document.documentElement.scrollTop()
作用一:获取当前滚动高度
scrollTop = driver.execute_script("document.documentElement.scrollTop")

作用二:设置滚动高度
driver.execute_script("document.documentElement.scrollTop=1000")
"""
from selenium import webdriver
import time


driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.toutiao.com/?wid=1720690840162")
time.sleep(2)
# 方式一
# driver.execute_script('window.scrollBy(0, 5000)')
# 方式二
# driver.execute_script('window.scrollTo(0, 5000)')
# 方式三
driver.execute_script('document.documentElement.scrollTop=5000')
time.sleep(2)
driver.quit()
posted @ 2024-07-11 19:03  努力的小测试  阅读(2)  评论(0编辑  收藏  举报