滾動條操作:當待操作的元素在頁面可是區域外時,要將待操作的元素滾動到可視區域當中
步驟:
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 import webdriver from selenium.webdriver.common.keys import Keys#鍵盤操作包 from selenium.webdriver.common.action_chains import ActionChains#鼠標操作包 from selenium.webdriver.support.wait import WebDriverWait#等待時間包 import time#時間包 driver=webdriver.Firefox() driver.get('http://www.baidu.com') WebDriverWait(driver,10).until(lambda x:x.find_element_by_id('kw')) driver.find_element_by_id('kw').send_keys('selenium',Keys.ENTER)#搜索selenium並點擊回車 #定位‘下一頁’元素 time.sleep(2) ele=driver.find_element_by_class_name('n') #根據‘下一頁’元素滑動到頁面最底部 driver.execute_script("arguments[0].scrollIntoView();",ele) #點擊‘下一頁’ ele.click() time.sleep(2) driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")#移動到頁面的底部 time.sleep(2) driver.quit()