selenium滑鼠滾動操作
阿新 • • 發佈:2022-04-14
我們在進行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