Selenium+Python操作浏览器滚动条

浏览器滚动条操作

当我们运行脚本的时候,经常会遇到这样的错误:

PS场景:当我们打开页面,有些元素需要下拉页面才能操作。

(1)使用JS操作浏览器(右侧竖向)滚动条

方法1:

# coding=utf-8

fromseleniumimportwebdriver

importtime

'''

以简书首页为例

'''

driver=webdriver.Firefox()

driver.get("http://www.jianshu.com")

#等待页面加载3S

time.sleep(3)

'''

:为顶部;1000000:为底部

#将滚动条移动到页面的顶部

js="var q=document.documentElement.scrollTop=0"

driver.execute_script(js)

#页面内嵌窗口浏览条滚动

js="var q=document.getElementById('id').scrollTop=1000"

driver.execute_script(js)

time.sleep(3)

'''

#将页面滚动条拖到底部

js="var q=document.documentElement.scrollTop=100000"

driver.execute_script(js)

time.sleep(3)

方法2:只针对内嵌滚动条

(2)使用JS操作浏览器(底部横向)滚动条

scrollTo(x, y)js = "window.scrollTo(210,550);"

x:代表横向坐标

y:代表纵向坐标

(3)当我们需要定位的元素是动态元素,或者我们不确定它在哪时,可以先找到这个元素然后再使用JS操作

target = driver.find_element_by_id('id')

driver.execute_script("arguments[0].scrollIntoView();", target)

ps:scroll函数用法

--scrollHeight 获取对象的滚动高度。

--scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。

--scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。

--scrollWidth 获取对象的滚动宽度

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180114G0437800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励