如何使用 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()

輸出


更新於: 2021年2月16日

3K+ 瀏覽量

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告