Scrollen einer Website mit Python Selenium
- Installieren Sie Selenium und Chrome WebDriver
- Scrollen Sie mit Python Selenium auf einer Website nach unten
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:
- Klicken Sie auf diesen Link. Laden Sie den Chrome-Treiber entsprechend der Version Ihres Chrome-Browsers und der Art des Betriebssystems herunter.
- 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. - 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:
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:
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