1. 程式人生 > 其它 >selenium滑鼠滾動操作

selenium滑鼠滾動操作

我們在進行UI自動化測試時,免不了要滑動滑鼠,因為有些元素並不在首屏,需要滑動滑鼠才可見。

selenium進行自動化過程中,可通過execute_script執行js語句實現頁面滑動。常見的滑動場景分為四種:滑動至頁面底部、滑動至頂部、滑動至具體位置、滑動至目標元素可見。

 

滑動到頁面底部:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight)")

滑動到頁面頂部:

driver.execute_script("window.scrollTo(0, -document.body.scrollHeight)
")

滑動到具體位置:

driver.execute_script("window.scrollTo(x,y)")   # 滾動到具體位置
driver.execute_script("window.scrollBy(x,y)")  # 滾動到具體位置

driver.execute_script("window.scrollBy(0,500)")  # 向下滑動500個畫素

driver.execute_script("window.scrollBy(0,-500)")  # 向上滾動500個畫素

driver.execute_script("window.scrollBy(500,0)")  # 向右滑動500個畫素
driver.execute_script("window.scrollBy(-500,0)") # 向左滾動500個畫素

 

 

案例一:開啟部落格首頁,將滾動條拖動到最底部,然後再拖動到最頂部

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.csdn.net")
time.sleep(3)
# 將滾動條向下拖動到某個位置
js = 'var action=document.documentElement.scrollTop=50000000'
driver.execute_script(js)
time.sleep(
3) # 將滾動條拖動到最頂部 js0 = 'var action=document.documentElement.scrollTop=0' driver.execute_script(js0) time.sleep(3) driver.quit()

案例二:模擬滑鼠滾動到需要顯示的元素位置,使用場景:瀏覽器視窗小,頁面過大內容顯示不全,元素可以定位但不可見

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://www.csdn.net")
time.sleep(3)
target = driver.find_element_by_xpath("//a[text()='關於我們']")
driver.execute_script("arguments[0].scrollIntoView();", target)  # 第一種方式
# driver.execute_script("arguments[0].focus();", target)   # 第二種方式
time.sleep(3)
driver.quit()

____________________________________________________________________________________

參考自:http://www.manongjc.com/detail/17-gtiggglmhdjppwu.html