selenium之滚动条操作方法

1、滚动条操作方法

  selenium可以完成浏览器页面的大部分操作,实现不了页面滚动条的操作;此时需要使用selenium调用简单的 js 实现滚动条操作(js全称JavaScript,js是运行在浏览器的解释型编程语言)

  滚动条可以上下拉动:

    下拉:js = 'window.scrollTo(x,y)'  (x代表水平距离,y代表竖直距离)

    上拉:js = 'document.documentElement.scrollTop=n'  (n代表滚动条到浏览器顶部的距离)

  如下代码,实现一个网页持续下拉

# 导入模块
from selenium import webdriver
import time
# 创建浏览器,默认最大化
driver = webdriver.Firefox()
driver.maximize_window()
# 访问地址
driver.get('https://www.hao123.com/')

# 单次滚动条下拉操作
"""
格式:js = 'window.scrollTo(x,y)'
driver.execute_script(js)
其中js中的x代表水平距离,y代表竖直距离,第二句意思是执行js"""
js = 'window.scrollTo(0,1000)'
driver.execute_script(js)
time.sleep(2)

# 持续滚动条下拉操作
for i in range(20):
    js_1 = 'window.scrollTo(0,%s)' % (i * 100)
    driver.execute_script(js_1)
    time.sleep(1)

# 持续往回滚动滚动条(上拉)
"""格式:js = 'varq = document.document_Element.scrollTop=n'
其中,n为滚动条距离顶部的位置"""
for i in range(20):
    js_2 = 'var q = document.documentElement.scrollTop=%s' % (2000 - i*100)
    driver.execute_script(js_2)
    time.sleep(1)

# 关闭浏览器
driver.quit()

 

posted @ 2020-08-12 14:10  吾言!  阅读(1017)  评论(0编辑  收藏  举报