滾動條操做:當待操做的元素在頁面但是區域外時,要將待操做的元素滾動到可視區域當中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()