如何使用 Python 中的 Selenium webdriver 滾動網頁?
有時我們需要對頁面可見區域中不存在的元素執行操作。我們需要向下滾動頁面才能到達該元素。
Selenium 無法直接執行滾動操作。這可以透過 Selenium 中的 Javascript Executor 和 Actions 類來實現。DOM 可以藉助 Javascript 操作網頁上的所有元素。
Selenium 可以藉助 **execute_script()** 方法執行 Javascript 命令。對於 Javascript 解決方案,我們必須將 **true** 值傳遞給 **scrollIntoView()** 方法以識別頁面上我們當前位置下方的物件。我們可以藉助 Selenium 中的 Actions 類執行滑鼠移動。
示例
使用 Javascript Executor 的程式碼實現。
import time from selenium import webdriver driver = webdriver.Chrome (executable_path="C:\chromedriver.exe") driver.get("https://tutorialspoint.tw/index.htm") # identify element l= driver.find_element_by_xpath("//*[text()='About Us']") # Javascript Executor driver.execute_script("arguments[0].scrollIntoView(true);", l) time.sleep(0.4) driver.close
在使用 Actions 類滾動到檢視時,我們必須使用 moveToElement() 方法。此方法將執行滑鼠移動到元素的中間。
示例
使用 Actions 的程式碼實現。
from selenium.webdriver import ActionChains from selenium import webdriver driver = webdriver.Chrome (executable_path="C:\chromedriver.exe") driver.get("https://tutorialspoint.tw/index.htm") # identify element I=driver.find_element_by_xpath("//*[text()='About Us']") # action object creation to scroll a = ActionChains(driver) a.move_to_element(l).perform()
輸出
廣告