有时候web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素,这个时候就要控制页面滚动条的拖动,但滚动条并非页面上的元素,可以借助JavaScript是来完成操作。
一般用到操作滚动条的会两个场景:
注册时的法律条文的阅读,判断用户是否阅读完成的标准是:滚动条是否拉到最下方。
要操作的页面元素不在视觉范围,无法进行操作,需要拖动滚动条
用于标识滚动条位置的代码
<body onload= "document.body.scrollTop=0 "> <body onload= "document.body.scrollTop=100000 ">
- 1
- 2
如果滚动条在最上方的话,scrollTop=0 ,那么要想使用滚动条在最可下方,可以scrollTop=100000 ,这样就可以使滚动条在最下方
下面以百度页面为例:
#coding=utf-8 from selenium import webdriver import time #访问百度 driver=webdriver.Firefox() driver.get("http://www.baidu.com") #搜索 driver.find_element_by_id("kw").send_keys("selenium") driver.find_element_by_id("su").click() time.sleep(3) #将页面滚动条拖到底部 js="var q=document.documentElement.scrollTop=10000" driver.execute_script(js) time.sleep(3) #将滚动条移动到页面的顶部 js_="var q=document.documentElement.scrollTop=0" driver.execute_script(js_) time.sleep(3) driver.quit()