Scrollen einer Website mit Python Selenium

Fariba Laiq 15 Februar 2024
  1. Installieren Sie Selenium und Chrome WebDriver
  2. Scrollen Sie mit Python Selenium auf einer Website nach unten
Scrollen einer Website mit Python Selenium

Manchmal möchten wir Aufgaben in einem Browser automatisieren, wie z. B. das Scrollen auf einer Website. Python verfügt über ein leistungsstarkes Webautomatisierungstool namens Selenium.

Es übernimmt die Kontrolle über den Webbrowser und ermöglicht es uns, bestimmte Aktionen automatisch auszuführen. Wir können ein Skript schreiben, das auf einer Website automatisch horizontal und vertikal scrollt.

Installieren Sie Selenium und Chrome WebDriver

Um Selenium zu installieren, verwenden wir den folgenden Befehl.

#Python 3.x
pip install selenium

ChromeDriver ist eine weitere ausführbare Datei, die Selenium WebDriver verwendet, um mit Chrome zu interagieren. Wenn wir Aufgaben im Chrome-Webbrowser automatisieren möchten, müssen wir auch ChromeDriver installieren.

Je nach Version des Chrome-Browsers müssen wir einen kompatiblen Treiber dafür auswählen. Im Folgenden sind die Schritte zum Installieren und Konfigurieren des Chrome-Treibers aufgeführt:

  1. Klicken Sie auf diesen Link. Laden Sie den Chrome-Treiber entsprechend der Version Ihres Chrome-Browsers und der Art des Betriebssystems herunter.
  2. Wenn Sie die Version Ihres Chrome-Browsers finden möchten, klicken Sie auf die drei Punkte in der oberen rechten Ecke von Chrome, klicken Sie auf Hilfe und wählen Sie Über Google Chrome. Sie können die Chrome-Version im Abschnitt Info sehen.
  3. Extrahieren Sie die ZIP-Datei und führen Sie den Chrome-Treiber aus.

Scrollen Sie mit Python Selenium auf einer Website nach unten

Syntax:

driver.execute_script("window.scrollBy(x_pixels, y_pixels);")

Hier geben die x_pixels die Anzahl der horizontal zu scrollenden Pixel (auf der x-Achse) und die y_pixels die Anzahl der vertikal zu scrollenden Pixel (auf der y-Achse) an. In dieser Anleitung scrollen wir nur vertikal, sodass die x_pixel 0 sind.

Um bestimmte Pixel nach unten scrollen

Wir haben die WebDriver-Instanz im folgenden Code erstellt und den Pfad zum Chrome-Treiber angegeben. Dann haben wir die URL der Zielwebsite mit der Methode get() auf die Treiberinstanz gesetzt.

Es öffnet die Ziel-Website im gewünschten Browser. Wir haben das Chrome-Fenster für ein besseres Bild mit maximize_window() maximiert.

Selenium hat die Funktion, JavaScript-Befehle über die Methode execute_script() auszuführen. Wir haben mit der Methode window.scrollBy() das Scrollen um 1000 Pixel nach unten automatisiert und diesen Befehl an den JavaScript-Executor übergeben.

Die Website wird automatisch um 1000 Pixel vertikal nach unten gescrollt.

Beispielcode:

# 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);")

Ausgabe:

Selen Pixelweise nach unten scrollen

Scrollen Sie nach unten zum Ende der Website

Angenommen, wir möchten bis zum Ende der Seite scrollen. document.body.scrollHeight gibt die Gesamthöhe der Seite in Pixel an.

Wir geben diese Höhe als die Anzahl der Pixel an, um die nach unten gescrollt werden soll.

Beispielcode:

# 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);")

Ausgabe:

Selen Scrollen Sie nach unten

Fariba Laiq avatar Fariba Laiq avatar

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

Verwandter Artikel - Python Selenium