selenium 模擬拖動滾動條下拉


senium做自動化測試的過程中,有的頁面需要下拉滾動條才能全部加載完成,否則加載不出來就定位不到想要的元素。

 

參考鏈接:http://www.cnblogs.com/landhu/p/5761794.html

 摘抄如下:

 

 在python中有幾種方法解決這種問題,簡單介紹下,給需要的人:

 

方法一)使用js腳本直接操作,方法如下:

js="var q=document.getElementById('id').scrollTop=10000" 
driver.execute_script(js)

 或:

js="var q=document.documentElement.scrollTop=10000" 
driver.execute_script(js) 

這里的id為滾動條的id,但js中沒有xpath的方法,所以滾動條沒有id的網頁此方法不適用

 

 

 

 

方法二)使用js腳本拖動到指定地方

target = driver.find_element_by_id("id_keypair") 
driver.execute_script("arguments[0].scrollIntoView();", target) #拖動到可見的元素去

這個方法可以將滾動條拖動到需要顯示的元素位置,此方法用途比較廣,可以使用

 

 

方法三)根據頁面顯示進行變通,發送tab鍵

在本例中的頁面中,密碼是輸入框,正常手工操作時,可以通過tab鍵會切換到密碼框中,所以根據此思路,在python中也可以發送tab鍵來切換,使元素顯示

from selenium.webdriver.common.keys import Keys
driver.find_element_by_id("id_login_method_0").send_keys(Keys.TAB)


我用第二種方法實現了頁面全部加載。

 


免責聲明!

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



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