有時候 web 頁面上的元素並非直接可見的,就算把瀏覽器最大化,我們依然需要拖動滾動條才能看到想要操作的元素,這個時候就要控制頁面滾動條的拖動,但滾動條並非頁面上的元素,可以借助 JavaScript是來完成操作
一般用到操作滾動條的會兩個場景:
- 注冊時的法律條文的閱讀,判斷用戶是否閱讀完成的標准是:滾動條是否拉到最下方。
- 要操作的頁面元素不在視覺范圍,無法進行操作,需要拖動滾動條
用於標識滾動條位置的代碼
<body onload= "document.body.scrollTop=0 "> <body onload= "document.body.scrollTop=100000 ">
如果滾動條在最上方的話,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()