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

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


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


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


3.再操做元素
element.XXX()code

 

如下是移動的四種方式對象

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

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

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

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

3.移動到頁面底部input

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()
相關文章
相關標籤/搜索