selenium+python使用JS处理页面滚动条,具体代码示例如下:
import time
from selenium import webdriver
# 实例化浏览器,访问目标网页,窗口最大化
driver = webdriver.Chrome()
driver.get("https://blog.csdn.net/weixin_44169484")
driver.maximize_window()
time.sleep(1)
# 定位元素
element = driver.find_element_by_xpath(".//*[@id='seeOriginal']/label")
# 移动到元素element对象的“顶端”与当前窗口的“顶部”对齐
driver.execute_script("arguments[0].scrollIntoView();", element)
time.sleep(2)
# 移动到元素element对象的“底端”与当前窗口的“底部”对齐
driver.execute_script("arguments[0].scrollIntoView(false);", element)
time.sleep(2)
# 移动到元素element对象的“顶端”与当前窗口的“顶部”对齐
driver.execute_script("arguments[0].scrollIntoView(true);", element)
time.sleep(2)
# 将页面上下滚动条拖到底部
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
time.sleep(2)
# 将页面上下滚动条拉到顶部
driver.execute_script("scrollTo(0,1)")
time.sleep(2)
# 将页面上下滚动条拖到底部
driver.execute_script("scrollTo(0,100000)")
time.sleep(2)
# 将页面向下滚动条拉到中间
driver.execute_script("scrollBy(0, 0-document.body.scrollHeight *1/2)")
# 将页面左右滚动条拉到中间
driver.execute_script("scrollBy(0, 0-document.body.scrollWidht *1/2)")
time.sleep(2)
# 退出
driver.quit()