js處理滾動條操作


在做UI自動化項目的時候,我們不免會遇到一些頁面的內容比較多,導致會有滾動條,但是我們又主要操作當前頁面看不到的元素,這怎么辦呢?

在我們實際操作過程中,我們肯定是直接滑動鼠標操作就可以完成,但是在做自動化的時候,我們怎么辦呢?

今天總結下用js代碼來實現滾動條的操作

在selenium中是使用execute_script方法去執行js語句來實現滾動操作的

語句:execute_script("arguments[0].scrollIntoView();", target)

其中這個target就是通過定位元素找到的元素對象

所以滾動的步驟是:

  1、通過selenium找到我們需要的元素

  2、通過執行js語句,將元素滾動到可見區域

舉個栗子:

  在我的博客首頁中滑動到下一頁

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
dr = webdriver.Chrome()
dr.get("https://www.cnblogs.com/LCboss/")
dr.implicitly_wait(3)
# dr.find_element(By.ID, "kw").send_keys("騰訊", Keys.ENTER)
target = dr.find_element(By.XPATH, '//a[contains(text(),"下一頁")]')
dr.execute_script("arguments[0].scrollIntoView(false);", target)
 

 

還有幾種js操作滾動:

  移動到元素的底端與當前窗口的底部對齊:dr.execute_script("arguments[0].scrollIntoView(false);", target)

  移動到元素的頂端與當前窗口的頂部對齊:dr.execute_script("arguments[0].scrollIntoView();", target)

  移動到頁面底部:dr.execute_script("window.scrollInTo(0, document.body.scrollHeight)")

  移動到頁面頂部:dr.execute_script("window.scrollInTo(document.body.scrollHeight,document.body.scrollHeight )")


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM