使用 Python Selenium 向下滾動網站
有時我們可能希望在瀏覽器中自動執行任務,例如在網站上滾動。Python 有一個強大的 Web 自動化工具,稱為 Selenium。
它控制網路瀏覽器並允許我們自動執行特定操作。我們可以編寫一個在網站上自動水平和垂直滾動的指令碼。
安裝 Selenium 和 Chrome WebDriver
要安裝 Selenium,我們使用以下命令。
#Python 3.x
pip install selenium
ChromeDriver 是 Selenium WebDriver 用來與 Chrome 互動的另一個可執行檔案。如果我們想在 Chrome 網路瀏覽器上自動執行任務,我們還需要安裝 ChromeDriver。
根據 Chrome 瀏覽器的版本,我們需要為其選擇相容的驅動程式。以下是安裝和配置 Chrome 驅動程式的步驟:
- 點選這個連結。根據你的 Chrome 瀏覽器版本和作業系統型別下載 Chrome 驅動程式。
- 如果要查詢 Chrome 瀏覽器的版本,點選 Chrome 右上角的三個點,點選幫助,選擇關於谷歌瀏覽器。你可以在 about 部分檢視 Chrome 版本。
- 解壓 zip 檔案並執行 Chrome 驅動程式。
使用 Python Selenium 向下滾動網站
語法:
driver.execute_script("window.scrollBy(x_pixels, y_pixels);")
這裡,x_pixels
表示水平滾動的畫素數(在 x 軸上),y_pixels
表示垂直滾動的畫素數(在 y 軸上)。在本指南中,我們僅垂直滾動以使 x_pixels
為 0。
按指定畫素向下滾動
我們在以下程式碼中建立了 WebDriver 例項,並指定了 Chrome 驅動程式的路徑。然後我們使用 get()
方法將目標網站的 URL 設定為驅動程式例項。
它將在所需的瀏覽器中開啟目標網站。我們使用 maximize_window()
最大化了 Chrome 的視窗以獲得更好的圖片。
Selenium 具有通過 execute_script()
方法執行 JavaScript 命令的功能。我們使用 window.scrollBy()
方法自動向下滾動 1000 畫素,並將此命令傳遞給 JavaScript 執行器。
該網站將自動垂直向下滾動 1000 畫素。
示例程式碼:
# Python 3.x
from selenium import webdriver
driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, 1000);")
輸出:
向下滾動到網站底部
假設我們要向下滾動到頁面的完整底部。document.body.scrollHeight
將給出頁面的總高度(以畫素為單位)。
我們將此高度指定為向下滾動的畫素數。
示例程式碼:
# Python 3.x
from selenium import webdriver
driver = webdriver.Chrome(r"E:\download\chromedriver.exe")
driver.get("https://www.verywellmind.com/what-is-personality-testing-2795420")
driver.maximize_window()
driver.execute_script("window.scrollBy(0, document.body.scrollHeight);")
輸出:
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn