Login

So verwenden Sie Selenium und Python fur Web Scraping

Zuletzt aktualisiert: 23. Juni 2026

Das Sammeln von Daten von Websites, allgemein bekannt als Web Scraping, ist eine praktische Technik für viele Projekte. Bibliotheken wie BeautifulSoup eignen sich hervorragend für einfaches HTML, stoßen jedoch oft an Grenzen, wenn Seiten stark auf JavaScript angewiesen sind, um Inhalte anzuzeigen. Hier kommt Selenium ins Spiel.

In diesem Leitfaden erfahren Sie, wie Sie Selenium mit Python effektiv zum Scrapen von Websites einsetzen.

Zuerst das Wichtigste – Was ist Selenium?

Selenium ist ein Framework zur Browser-Automatisierung, das für das Testen von Webanwendungen entwickelt wurde. Es simuliert echtes Nutzerverhalten, indem es einen tatsächlichen Browser wie Chrome oder Firefox steuert. Dadurch kann es JavaScript-gerenderte Inhalte verarbeiten, die andere Tools nicht können.

Das macht Selenium zu einer hervorragenden Lösung zum Scrapen von Inhalten von interaktiven Websites, Formularen, Infinite Scrolls und mehr.

Selenium installieren

Installieren Sie Selenium zunächst mit pip:

pip install selenium

WebDriver einrichten

Selenium benötigt einen WebDriver zur Kommunikation mit dem Browser. Hier ein einfaches Beispiel mit Chrome:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service("/path/to/chromedriver")
driver = webdriver.Chrome(service=service)

Wenn Sie den Browser ohne sichtbares Fenster ausführen möchten (nützlich auf Servern), aktivieren Sie den Headless-Modus:

from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument("--headless=new")
driver = webdriver.Chrome(options=options)

Elemente auf der Seite finden

Sie können verschiedene Strategien verwenden, um HTML-Elemente zu lokalisieren:

from selenium.webdriver.common.by import By

element = driver.find_element(By.CLASS_NAME, "product-title")

Weitere Locator-Optionen sind:

  • By.ID
  • By.TAG_NAME
  • By.CSS_SELECTOR
  • By.XPATH

Auf JavaScript-Laden warten

Statt time.sleep() zu verwenden, unterstützt Selenium intelligentes Warten mit WebDriverWait:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "content"))
)

JavaScript ausführen

Wenn Sie die Seite scrollen oder schlecht geladene Elemente auslösen müssen, können Sie JavaScript ausführen:

driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")

Screenshots erstellen

Erfassen Sie einen Screenshot der aktuellen Ansicht mit:

driver.save_screenshot("screenshot.png")

Paginierung handhaben

Um mehrere Seiten zu scrapen, können Sie Links durchlaufen oder mit einem „Weiter“-Button interagieren:

next_button = driver.find_element(By.LINK_TEXT, "Next")
next_button.click()

Daten exportieren

Sie können die Pandas-Bibliothek verwenden, um Ihre gescrapten Daten in einer CSV-Datei zu speichern:

import pandas as pd

df = pd.DataFrame(data)
df.to_csv("output.csv", index=False)

Scrollen mit Tasten

Um Tastendrücke wie PAGE_DOWN oder END zu simulieren:

from selenium.webdriver.common.keys import Keys

body = driver.find_element(By.TAG_NAME, "body")
body.send_keys(Keys.END)

Bilder und andere Ressourcen blockieren

Um Scraping zu beschleunigen und den Ressourcenverbrauch zu reduzieren:

driver.execute_cdp_cmd("Network.setBlockedURLs", {"urls": ["*.jpg", "*.png"]})

Wie schneidet Selenium im Vergleich zu anderen Tools ab?

ToolJavaScript-UnterstützungGeschwindigkeitIdealer Anwendungsfall
SeleniumVollständigMittelInteraktive/dynamische Seiten
BeautifulSoupKeineSchnellStatisches HTML-Scraping
ScrapyOptional (über Selenium)Sehr schnellGroß angelegte Scraping-Projekte
PuppeteerVollständig (nur Node.js)MittelHeadless Chromium-basiertes Scraping

Wann sollten Sie Selenium verwenden?

Wählen Sie Selenium, wenn:

  • die Website hauptsächlich auf JavaScript angewiesen ist
  • Sie Nutzerinteraktionen simulieren müssen (Klicks, Scrolls und Eingaben)
  • Sie an einer kleinen oder mittelgroßen Scraping-Aufgabe arbeiten

Für größere oder schnellere Scraping-Jobs sollten Sie Tools wie Scrapy oder spezialisierte APIs in Betracht ziehen, die sich um Residential Proxys, CAPTCHA und JavaScript kümmern.

Fazit

Selenium ist eine hervorragende Option zum Scrapen dynamischer Websites mit Python. Nach der Einrichtung können Sie Inhalte von komplexen Seiten extrahieren. Obwohl es nicht das schnellste Tool ist, macht seine Fähigkeit, einen echten Browser zu automatisieren, es unglaublich flexibel.

Artikelübersicht

Bereit, es selbst auszuprobieren?

Starten Sie mit nur wenigen Klicks mit unserem Produkt.