在自動化測試的過程中,難免會應用到翻頁鍵,但是webdriver提供的方法都是操作當前頁面可見的元素,對於未在當前范圍展示的翻頁鍵,該如何操作呢?
小編在這里介紹一種方法:使用JavaScript操作瀏覽器的滾動條。
- 制造含有滾動條的環境
#打開百度 driver=webdriver.Firefox() driver.get("https://www.baidu.com/") #搜索selenium,制造含有滾動條的環境 kw=driver.find_element_by_id("kw") kw.send_keys("selenium") su=driver.find_element_by_id("su") su.click()

- 操作滾動條
#拖動滾動條至底部 js1="document.documentElement.scrollTop=10000" driver.execute_script(js1) #拖動滾動條至頂部 js2="document.documentElement.scrollTop=0" driver.execute_script(js2)
運行后就能操控滾動條在頂部和底部之間跳轉了,scrollTop為0時,表示正哥頁面的頂端,設置值為10000(大於等於整個頁面的長度)時,就可以滾動到底部

上面展示的是上下方向的滾動條,接下來介紹左右方向的滾動條的操作方法
#左右方向的滾動條可以使用window.scrollTo(左邊距,上邊距)方法 #example js="window.scrollTo(200,1000)" driver.execute_script(js)
左邊距和上邊距的值可以自行設置
源碼奉上,敬請指教
from selenium import webdriver import time #打開百度 driver=webdriver.Firefox() driver.get("https://www.baidu.com/") #搜索selenium,制造含有滾動條的環境 kw=driver.find_element_by_id("kw") kw.send_keys("selenium") su=driver.find_element_by_id("su") su.click() time.sleep(2) #拖動滾動條至底部 js1="document.documentElement.scrollTop=10000" driver.execute_script(js1) time.sleep(3) #拖動滾動條至頂部 js2="document.documentElement.scrollTop=0" driver.execute_script(js2) time.sleep(3) driver.quit() ''' #左右方向的滾動條可以使用window.scrollTo(左邊距,上邊距)方法 #example js="window.scrollTo(200,1000)" driver.execute_script(js) '''
