浏览器滚动条操作
当我们运行脚本的时候,经常会遇到这样的错误:
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 获取对象的滚动宽度
领取专属 10元无门槛券
私享最新 技术干货