python-web自動化-Js-滾動條操作


滾動條操作:當待操作的元素在頁面可是區域外時,要將待操作的元素滾動到可視區域當中


步驟:
1.先找要將要操作的元素
element = driver.find_element_by_xxxx("XXXX")


2.再將元素滑動到可視區域;通過執行javaScript語句實現
driver.execute_script("arguments[0].scrollIntoView();",element)
#另外一種方式,scrollIntoViewIfneeded


3.再操作元素
element.XXX()

 

以下是移動的四種方式

1.移動到元素element對象的“底端”與當前窗口的“底部”對齊

driver.execute_script("arguments[0].scrollIntoView(false);",element)

2.移動到元素element對象的“頂端”與當前窗口的“頂部”對齊

driver.execute_script("arguments[0].scrollIntoView();",element)

3.移動到頁面底部

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

4.移動到頁面頂部

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

 

 

 

 

 

 

 




 

 

 

代碼:百度首頁輸入內容,跳轉頁面;滑動到該頁面底部,點擊【下一頁】

from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time
# 百度首頁輸入內容檢索,跳轉檢索后頁面,划動到該頁面最下面的‘下一頁’
driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
WebDriverWait(driver,10).until(EC.visibility_of_element_located((By.XPATH,'//input[@id="kw"]')))
driver.find_element_by_xpath('//input[@id="kw"]').send_keys('許嵩',Keys.ENTER) #輸入文本並回車操作
time.sleep(2)
# 定位元素‘下一頁’
ele = driver.find_element_by_xpath('//a[@class="n"]')
#根據‘下一頁元素’,划動到頁面最下面
driver.execute_script("arguments[0].scrollIntoView();",ele)
time.sleep(2)
# 點擊【下一頁】
ele.click()

 


免責聲明!

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



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