Wer heute Webdaten sauber in Tabellen bringt, verschafft sich einen handfesten Vorsprung. Ob Vertrieb, Operations, Research oder E-Commerce – die Aufgabe ist überall dieselbe: unstrukturierte, ständig wechselnde Seiteninhalte in verwertbare Datensätze überführen. Nur ist das Web ein bewegliches Ziel geworden. Inhalte kommen per JavaScript nach, laden erst beim Scrollen und stecken hinter immer raffinierteren Anti-Bot-Mechanismen. Für klassische Scraper ist das oft Endstation. Wer schon mal ein Team dabei beobachtet hat, wie es sich stundenlang an brüchigen Skripten und leeren Tabellen abarbeitet, kennt das Problem: Copy-Paste und simple HTTP-Requests halten mit modernen, dynamischen Seiten nicht mehr Schritt.
Mit KI Daten von jeder Website extrahieren Get Started Free
An dieser Stelle kommt Playwright Scraping ins Spiel. Das Browser-Automatisierungs-Toolkit von Microsoft verschiebt die Grenze dessen, was sich zuverlässig auslesen lässt – auch bei den sperrigsten Seiten. Und wenn du es mit den KI-gestützten Struktur- und Exportfunktionen von Thunderbit kombinierst, entsteht ein Workflow, der nicht nur belastbar ist, sondern sich auch angenehm bedienen lässt. In diesem Guide gehen wir durch, wie du Playwright Scraping in den Griff bekommst, wo die typischen Fallstricke liegen und wie dein Team am Ende spürbar schneller an Daten kommt.
Was Playwright Scraping eigentlich ist
Playwright Scraping heißt im Kern: Du steuerst echte Browser – Chrome, Firefox oder Safari – per Code, statt nur rohes HTML abzurufen. Der Unterschied ist entscheidend. Beim reinen HTML-Abruf fehlen oft genau die Inhalte, die erst durch JavaScript entstehen. Playwright startet dagegen einen vollwertigen Browser, agiert wie ein Mensch (klickt, scrollt, tippt Formulare aus) und liest die Daten aus der fertig gerenderten Seite (Thunderbit: Playwright Guide).
Warum das so viel ausmacht? Die meisten aktuellen Webseiten sind dynamisch. Sie laden Inhalte nach, verlangen eine Interaktion oder verstecken Daten hinter einem Login. Ein HTTP-basierter Scraper wie BeautifulSoup oder Requests sieht nur das erste HTML – alles, was danach per JavaScript kommt, bleibt für ihn unsichtbar. Playwright sieht dagegen genau das, was auch ein echter Nutzer sieht. Faustregel: Was im Browserfenster sichtbar ist, kann Playwright auslesen.
Der Einsatz lohnt sich immer dann, wenn dir eine dieser Situationen begegnet:
- Inhalte, die per JavaScript oder AJAX nachgeladen werden
- Seiten mit Login oder mehrstufiger Navigation
- interaktive Elemente wie endloses Scrollen, „Mehr laden"-Buttons oder Pop-ups
- Seiten, bei denen klassische Scraper leere Daten liefern
Kurz: Wenn dich schon mal eine leere Tabelle nach dem Scraping frustriert hat, ist Playwright wahrscheinlich das passende Werkzeug.
Warum Playwright bei moderner Datenerfassung den Unterschied macht
Playwright ist nicht bloß ein weiteres Automatisierungstool. Ein paar technische Eigenschaften heben es klar ab:
1. Ein Skript für mehrere Browser
Playwright unterstützt Chromium (Chrome/Edge), Firefox und WebKit (Safari) von Haus aus (Oxylabs). Du schreibst dein Skript einmal und lässt es in allen relevanten Browsern laufen – praktisch, wenn eine Seite sich je nach Browser anders verhält.
2. Menschliches Verhalten simulieren
Klicken, scrollen, über Elemente fahren, Formulare ausfüllen, sogar Dateien hochladen: Playwright bildet echte Nutzeraktionen nach. Das ist der Schlüssel, um an Inhalte hinter Interaktionen zu kommen oder einfache Bot-Sperren zu umgehen. Zum Debuggen – oder um noch natürlicher zu wirken – kannst du das Ganze im sichtbaren „headful"-Modus laufen lassen.
3. Headless oder headful, je nach Bedarf
Ein einziger Parameter entscheidet, ob dein Skript ohne UI läuft (headless, schneller und unauffälliger) oder mit sichtbarem Fenster (headful, ideal zum Debuggen und gegen Bot-Erkennung). Da manche Seiten headless-Browser blockieren, ist dieser schnelle Wechsel Gold wert.
4. Intelligentes Warten
Dynamische Seiten laden asynchron, und genau da spielt Playwright seine Stärke aus: Das automatische Warten pausiert dein Skript, bis die Daten tatsächlich da sind. Kein Herumraten mehr, wie viele Sekunden sleep reichen – die Ergebnisse werden zuverlässiger und genauer (Thunderbit: Playwright Guide).
5. Parallelität für mehr Tempo
Mehrere Tabs oder Sessions gleichzeitig steuern? Kein Problem. So extrahierst du große Datenmengen effizient, ohne dich Seite für Seite durchzuhangeln.
6. Anti-Bot und Stealth
Weil Playwright echte Browser steuert, kannst du User Agents fälschen, Proxys rotieren und mobile Geräte emulieren. Richtig konfiguriert kommst du damit an Blockaden vorbei, an denen klassische Scraper scheitern (BrowserStack).
Unterm Strich: Playwright liefert die Flexibilität, Leistung und Verlässlichkeit, die moderne Datenerfassung braucht – egal wie verschachtelt die Zielseite ist.
Deine Playwright-Umgebung aufsetzen
Der Einstieg ist unkomplizierter, als viele denken – auch ohne Vorerfahrung mit Browserautomatisierung. Hier der Ablauf.
Node.js und Playwright installieren
Zuerst brauchst du Node.js (Python ginge auch, aber Node.js ist für Playwright am gebräuchlichsten). Lade es von nodejs.org herunter, installiere es und öffne dein Terminal.
Dann legst du dein Projektverzeichnis an:
mkdir my-playwright-scraper
cd my-playwright-scraper
npm init -y
npm install playwright
npx playwright install
npm install playwrightinstalliert die Playwright-Bibliothek.npx playwright installlädt die Browser-Engines (Chromium, Firefox, WebKit) herunter.
Zum Gegentesten reicht ein Mini-Skript:
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
console.log(await page.title()); // Sollte "Example Domain" ausgeben
await browser.close();
})();
Erscheint der Titel wie erwartet, kann es losgehen (Thunderbit: Playwright Guide).
Abhängigkeiten und Projektstruktur im Griff behalten
Halte deinen Code aufgeräumt. Für kleine Projekte genügt eine Datei; bei größeren empfiehlt sich ein src/-Ordner mit getrennten Modulen für Scraping-Logik, Datenverarbeitung und Konfiguration. Zugangsdaten und Einstellungen gehören in eine .env-Datei – Passwörter haben im Code nichts verloren.
Dein erstes Scraping-Skript schreiben
Ein Beispiel: Produktnamen und Preise von einer E-Commerce-Seite abgreifen.
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const page = await browser.newPage();
await page.goto('https://example-ecommerce.com/laptops');
await page.waitForSelector('.product-card');
const names = await page.$$eval('.product-card .name', els => els.map(el => el.textContent.trim()));
const prices = await page.$$eval('.product-card .price', els => els.map(el => el.textContent.trim()));
names.forEach((name, i) => {
console.log(`${name} - ${prices[i]}`);
});
await browser.close();
})();
Das Skript wartet, bis die Produktkarten geladen sind, und liest dann alle Namen und Preise aus. Die Selektoren passt du an deine Zielseite an.
Wenn Fehler auf fehlende Selektoren oder leere Daten hindeuten, wirf mit den Chrome DevTools einen Blick auf die Seitenstruktur und korrigiere die Selektoren entsprechend.
Playwright in der Praxis: Techniken und bewährte Wege
Jetzt zum Handwerklichen – so holst du das Maximum aus Playwright.
Daten gezielt finden und auslesen
- CSS-Selektoren: Elemente über
page.locator('selector')oderpage.$('selector')ansprechen. - Text extrahieren:
await page.locator('.product-name').allTextContents()gibt dir ein Array aller Produktnamen. - Attribute auslesen: Für Bilder oder Links
.getAttribute('src')bzw..getAttribute('href')verwenden. - Verschachtelte Selektoren: Mit
item.locator('.price')gezielt an Unterelemente herangehen.
Dynamische Inhalte und Paginierung bändigen
- Auf Inhalte warten:
await page.waitForSelector('.item')pausiert, bis die Elemente da sind. - Endloses Scrollen: Mit
await page.evaluate(() => window.scrollBy(0, window.innerHeight));scrollen und auf Nachschub warten. - Paginierung: Über „Weiter"-Buttons durch die Seiten blättern und jeweils das Laden abwarten. So etwa:
let pageNumber = 1;
while (true) {
await page.waitForSelector('.result-item');
// Daten extrahieren ...
const nextButton = await page.$('button.next');
if (!nextButton) break;
await nextButton.click();
await page.waitForNavigation();
pageNumber++;
}
Proxys einsetzen und Sperren aus dem Weg gehen
- Proxy setzen: direkt beim Start des Browsers.
const browser = await chromium.launch({
proxy: { server: 'http://YOUR_PROXY:PORT', username: 'USER', password: 'PASS' }
});
- User Agents rotieren: pro Session einen anderen User Agent nutzen.
- Zufällige Pausen: Wartezeiten zwischen den Aktionen streuen, um menschliches Verhalten nachzustellen.
- Headful-Modus: Blockiert eine Seite headless-Zugriffe, hilft
headless: false. - Stealth-Plugins: Mit Tools wie playwright-stealth verwischst du Automatisierungsspuren.
Playwright und Thunderbit zusammenbringen
Jetzt zum spannenden Teil. Playwright ist stark darin, komplexe Seiten zu navigieren und zu bedienen – aber wie strukturierst und exportierst du die Daten, besonders wenn Kolleg:innen ohne Programmierkenntnisse damit weiterarbeiten sollen? Genau hier kommt Thunderbit hinzu.
KI-Feldvorschläge nutzen
Mit KI Suggest Fields erkennt Thunderbit auf Knopfdruck, welche Datenfelder auf einer Seite überhaupt sinnvoll sind. Statt HTML zu inspizieren und Feldnamen zu erraten, öffnest du die Thunderbit Chrome Extension, klickst auf „KI-Felder vorschlagen" und bekommst automatisch passende Spalten und Datentypen (Thunderbit: Playwright Guide).
Was das für Playwright-Nutzer bringt:
- Schnellerer Start: Das Feldmapping vorab testen, bevor du überhaupt Playwright-Code schreibst.
- Solidere Extraktion: Die vorgeschlagenen Selektoren oder Feldnamen direkt in dein Playwright-Skript übernehmen.
- Auch für Nicht-Entwickler: Fachanwender:innen ziehen Daten ohne Code, während Entwickler:innen die kniffligen Fälle mit Playwright lösen.
Thunderbit KI-Web-Scraper für No-Code-Datenerfassung testen
Daten sofort formatieren und exportieren
Thunderbit extrahiert nicht nur, sondern überführt die Daten direkt in strukturierte Tabellen und exportiert sie nach Excel, Google Sheets, Airtable oder Notion (Thunderbit: Beginner Tutorial). Kein Gefummel mit CSV-Dateien oder selbstgebauten Exportskripten.
In der Praxis spielst du die beiden gut gegeneinander aus: Playwright übernimmt die komplexe Navigation (Logins, mehrstufige Formulare), dann übergibst du die gerenderte Seite an Thunderbit für die KI-gestützte Felderkennung und den Sofort-Export. Mit dem Subpage-Scraping von Thunderbit reicherst du deine Daten obendrein um Details aus verlinkten Unterseiten an – komplett ohne Zusatzcode.
Die häufigsten Stolpersteine – und wie du sie umgehst
Auch mit Playwright läuft nicht alles reibungslos. Die häufigsten Probleme und ihre Lösungen:
Dynamische Inhalte und JavaScript-Rendering
- Auf das richtige Element warten: Immer mit
waitForSelectorauf den Datencontainer warten, nicht nur auf das Laden der Seite. - Endloses Scrollen: Scroll-Aktionen in einer Schleife ausführen und prüfen, ob neue Elemente auftauchen.
- Debugging im Headful-Modus: Im sichtbaren Browser siehst du direkt, was fehlt oder zu spät kommt.
Anti-Bot-Maßnahmen
- Proxys und User Agents rotieren: damit dein Scraper nicht wie ein Bot aussieht.
- Muster variieren: Timing und Scraping-Abläufe zufällig gestalten.
- CAPTCHAs: bei Bedarf pausieren, Proxy wechseln oder – ethisch vertretbar – einen Captcha-Service einbinden.
Komplexe Formulare und Interaktionen
- Formulare automatisiert ausfüllen: Mit
page.fill()undpage.click()auch mehrstufige Formulare bedienen. - Logins skripten: Anmeldevorgänge automatisieren und Cookies für spätere Sessions sichern.
- Pop-ups und neue Tabs: über Playwrights Kontext- und Page-Events mehrere Fenster steuern.
Fünf Playwright-Anwendungsfälle mit echtem Business-Nutzen
Jetzt wird es konkret: fünf Szenarien, in denen Playwright Scraping direkten Mehrwert liefert – jeweils mit Code-Snippet zum Loslegen.
- E-Commerce-Preisüberwachung
- Marktforschung & Trendanalyse
- Immobilienanzeigen extrahieren
- Lead-Generierung im Vertrieb
- Wettbewerbsanalyse von Produkten
1. E-Commerce-Preisüberwachung
Szenario: Preise und Verfügbarkeiten der Konkurrenz im Blick behalten.
await page.goto('https://example-ecommerce.com/laptops');
await page.waitForSelector('.product-card');
const products = await page.$$eval('.product-card', cards =>
cards.map(card => ({
name: card.querySelector('.name').textContent.trim(),
price: card.querySelector('.price').textContent.trim()
}))
);
console.log(products);
(Thunderbit: Beginner Tutorial)
2. Marktforschung & Trendanalyse
Szenario: Nachrichtenüberschriften oder Forenbeiträge bündeln.
await page.goto('https://tech-news.com/latest');
await page.waitForSelector('.headline');
const headlines = await page.$$eval('.headline', els => els.map(el => el.textContent.trim()));
console.log(headlines);
3. Immobilienanzeigen extrahieren
Szenario: Objektdetails von Immobilienportalen abgreifen.
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://realestate.com/city")
page.wait_for_selector(".listing")
listings = page.query_selector_all(".listing")
for listing in listings:
price = listing.query_selector(".price").inner_text()
beds = listing.query_selector(".beds").inner_text()
print(price, beds)
browser.close()
4. Lead-Generierung im Vertrieb
Szenario: Kontaktdaten aus Branchenverzeichnissen ziehen.
await page.goto('https://yellowpages.com/search?query=plumbers');
await page.waitForSelector('.result');
const leads = await page.$$eval('.result', results =>
results.map(res => ({
name: res.querySelector('.business-name').textContent.trim(),
phone: res.querySelector('.phones').textContent.trim()
}))
);
console.log(leads);
(Thunderbit: Playwright Guide)
5. Wettbewerbsanalyse von Produkten
Szenario: Produktspezifikationen und Bewertungen vergleichen.
products = ["ProductA", "ProductB"]
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
for product in products:
page.goto(f"https://competitor.com/products/{product}")
page.wait_for_selector(".specs")
specs = page.query_selector(".specs").inner_text()
print(product, specs)
browser.close()
Playwright, Puppeteer, Selenium – wo steht Playwright?
Wie schlägt sich Playwright gegen Puppeteer und Selenium? Der direkte Vergleich (PromptFuel, Oxylabs, BrowserStack):
| Feature | Playwright | Puppeteer | Selenium |
|---|---|---|---|
| Browser Support | Chrome, Firefox, Safari | Chrome (offiziell) | Alle gängigen Browser |
| Language Support | JS, Python, Java, .NET | JS (Node.js) | Viele (Java, Python, C#, etc.) |
| Speed | Sehr schnell, parallele Sessions | Schnell (nur Chrome) | Langsamer, mehr Overhead |
| Ease of Use | Moderne API, Auto-Wait | Einfach für Node.js-Entwickler | Umständlicher, viel Konfiguration |
| Stealth/Anti-bot | Gut, wachsende Plugins | Gut mit Plugins | Schwächer, leichter zu erkennen |
| Community/Ecosystem | Wächst rasant | Stark im Node.js-Umfeld | Riesig, aber testfokussiert |
Fazit: Für ein neues Scraping-Projekt ist Playwright meist die naheliegende Wahl – vor allem, wenn du browserübergreifend arbeitest, moderne APIs schätzt oder auf fortgeschrittene Anti-Bot-Features angewiesen bist.
Fazit & wichtigste Erkenntnisse
Was ist Data Scraping und wie funktioniert es 2025? Get Started Free
Wer Playwright Scraping beherrscht, macht aus dem modernen Web effizient strukturierte Daten. Browserübergreifende Automatisierung, echte Interaktionen und der souveräne Umgang mit dynamischen Inhalten bringen auch anspruchsvolle Scraping-Aufgaben in Reichweite. Kombiniert mit Thunderbits KI-gestützter Felderkennung und dem Sofort-Export entsteht ein Workflow, der effizient ist und sich obendrein angenehm anfühlt.
Das Wichtigste in Kürze:
- Playwright Scraping ist die richtige Wahl für dynamische, JavaScript-lastige Seiten, an denen klassische Scraper scheitern.
- Seine Stärken – Multi-Browser-Support, intelligentes Warten, Stealth-Features – machen es zum Top-Tool für moderne Datenerfassung.
- Die Einrichtung ist unkompliziert, und Best Practices wie intelligentes Warten und Proxy-Rotation sorgen für verlässliche Ergebnisse.
- Zusammen mit Thunderbit kommen KI-gestütztes Feldmapping, Subpage-Scraping und Sofort-Export dazu – für Fachanwender:innen wie Entwickler:innen.
- Die Praxisfälle reichen von E-Commerce über Marktforschung bis zu Immobilien und Vertrieb.
Bereit für den nächsten Schritt? Schreib dein erstes Playwright-Skript und probier anschließend die AI Web Scraper Chrome Extension von Thunderbit für sofortige, codefreie Datenstrukturierung und Export. Weitere Tipps und Anleitungen findest du im Thunderbit Blog.
Thunderbit Chrome Extension herunterladen
Viel Erfolg beim Scrapen – mögen deine Selektoren immer sitzen, deine Proxys nie blockiert werden und deine Tabellen sich wie von selbst füllen.
Häufige Fragen (FAQ)
1. Was macht Playwright Scraping besser als klassische HTTP-basierte Scraper?
Playwright steuert einen echten Browser und erfasst so alle dynamischen Inhalte, die per JavaScript nachgeladen werden – Daten, die klassischen Scrapern oft entgehen. Das Ergebnis sind vollständigere und genauere Datensätze von modernen Webseiten.
2. Kommt Playwright auch mit Login oder mehrstufigen Formularen klar?
Auf jeden Fall. Playwright automatisiert Logins, füllt Formulare aus, klickt durch mehrstufige Prozesse und verwaltet bei Bedarf Cookies oder Sessions für authentifiziertes Scraping.
3. Wie verbessert Thunderbit das Playwright Scraping?
Die KI-Feldvorschläge zeigen dir im Nu, welche Daten sich lohnen und wie sie zu strukturieren sind. Die extrahierten Daten exportierst du anschließend direkt nach Excel, Google Sheets, Airtable oder Notion – ganz ohne manuelle Nacharbeit.
4. Wie vermeidest du Blockaden beim Playwright Scraping?
Proxys rotieren, User Agents wechseln, menschliche Pausen einbauen und im Zweifel headful arbeiten. Und: immer die Nutzungsbedingungen der Zielseite respektieren und die Server nicht überlasten.
5. Taugt Playwright Scraping auch für Nicht-Programmierer?
Playwright selbst ist codebasiert. In Kombination mit der No-Code Chrome Extension von Thunderbit ziehen aber auch Nicht-Entwickler:innen strukturierte Daten aus den meisten Webseiten – ganz ohne Programmierkenntnisse.
Du willst Playwright und Thunderbit in Aktion sehen? Lade die Thunderbit Chrome Extension herunter und stöber im Thunderbit Blog für weitere Anleitungen und Ideen.
KI-Web-Scraper ausprobieren Get Started Free
Mehr erfahren


