In diesem Leitfaden erfahren Sie:
- Was ein CAPTCHA ist und ob es umgangen werden kann
- Wie Sie die Playwright-CAPTCHA-Umgehungslogik implementieren
- Was zu tun ist, wenn das CAPTCHA dennoch angezeigt wird.
Los geht’s!
Was sind CAPTCHAs und kann man sie umgehen?
Ein CAPTCHA, kurz für „Completely Automated Public Turing tests to tell Computers and Humans Apart” (vollständig automatisierte öffentliche Turing-Tests zur Unterscheidung zwischen Computern und Menschen), ist ein Test, mit dem zwischen menschlichen Benutzern und automatisierten Bots unterschieden wird. Es handelt sich um eine Aufgabe, die speziell so konzipiert ist, dass sie für Menschen leicht, für Maschinen jedoch schwer zu lösen ist.

Zu den beliebten CAPTCHA-Anbietern gehören Google reCAPTCHA, hCaptcha und BotDetect. Diese unterstützen in der Regel einen oder mehrere der folgenden CAPTCHA-Typen:
- Bildbasierte Herausforderungen: Benutzer müssen bestimmte Objekte in einem Raster von Bildern identifizieren oder Bilder identifizieren, die einer bestimmten Annahme entsprechen.
- Textbasierte Herausforderungen: Benutzer müssen eine Folge von verzerrten Buchstaben und Zahlen eingeben.
- Audiobasierte Herausforderungen: Benutzer werden aufgefordert, die Wörter einzugeben, die sie hören.
- Puzzle-Herausforderungen: Benutzer müssen ein einfaches Puzzle lösen, z. B. ein Teil an die richtige Stelle schieben.
CAPTCHAs können Teil eines bestimmten Benutzerablaufs sein, z. B. der letzte Schritt beim Absenden eines Formulars:

In diesen Fällen wird das CAPTCHA immer angezeigt und kann von Bots nicht wirklich umgangen werden. Sie können Ihre Software mit CAPTCHA-Lösungen integrieren, um sie zu automatisieren, oder mit Diensten, die sich auf menschliche Bediener verlassen, um diese Herausforderungen in Echtzeit zu lösen. Hardcodierte CAPTCHAs sind jedoch nicht üblich, da sie lästig sind und die Benutzererfahrung beeinträchtigen.
Häufiger werden CAPTCHAs als Teil umfassenderer Anti-Bot-Lösungen wie WAFs (Web Application Firewalls) eingesetzt:

Diese Systeme zeigen dynamisch ein CAPTCHA an, wenn sie vermuten, dass es sich bei dem Benutzer um einen Bot handelt. In diesen Fällen können CAPTCHAs umgangen werden, indem Sie Ihren Bot menschliches Verhalten nachahmen lassen. Dennoch handelt es sich hierbei um ein Katz-und-Maus-Spiel, bei dem Sie Ihr automatisiertes Skript ständig aktualisieren müssen, um neue Bot-Erkennungsmaßnahmen zu umgehen.
Eine effektivere Lösung zur Umgehung von CAPTCHAs ist die Verwendung eines benutzeremulationsbasierten und stets aktuellen Tools wie dem CAPTCHA Solver von Bright Data.
Playwright Bypass CAPTCHA: Schritt-für-Schritt-Anleitung
Wie Sie gerade gelernt haben, besteht ein effektiver Ansatz zur Umgehung von CAPTCHAs darin, Ihr automatisiertes Skript menschliches Verhalten simulieren zu lassen und dabei einen menschenähnlichen Fingerabdruck zu verwenden. Eines der besten Tools für diesen Zweck ist Playwright, eine führende Browser-Automatisierungsbibliothek, die in der Liste der besten Web-Scraping-Tools des Jahres aufgeführt ist.
In diesem Tutorial-Abschnitt erfahren Sie, wie Sie die Playwright-CAPTCHA-Umgehungslogik implementieren können. Sie lernen, wie Sie dieses Ziel mit einem Node.js-Skript in JavaScript erreichen können. Wenn Sie Python-Entwickler sind, können Sie sich unseren entsprechenden Leitfaden zu Playwright Stealth ansehen.
Legen wir los!
Schritt 1: Initialisieren Sie Ihr Node.js-Projekt
Wenn Sie bereits über ein Playwright-Web-Scraping- oder Testskript verfügen, können Sie diesen Schritt überspringen. Andernfalls erstellen Sie einen Ordner für Ihr Playwright CAPTCHA-Löser-Projekt und geben Sie ihn im Terminal ein:
mkdir playwright_demo
cd playwright_demo
Initialisieren Sie darin ein neues Node.js-Projekt mit dem folgenden Befehl npm init:
npm init -y
Öffnen Sie den Projektordner in Ihrer bevorzugten JavaScript-IDE und fügen Sie eine neue Datei script.js hinzu.

Vergessen Sie dann nicht, package.json zu öffnen und Ihr Projekt als Modul zu markieren, indem Sie Folgendes hinzufügen:
„type”: „module”
Großartig, der Ordner Ihres Projekts enthält nun eine Node.js-Anwendung.
Schritt 2: Playwright Extra installieren
Eine der bekannten Schwächen von Playwright ist, dass es keine Plugins unterstützt. Die Community hat diese Lücke mit Playwright Extra geschlossen, einer Bibliothek, die Playwright um Plugin-Unterstützung erweitert.
Fügen Sie playwright und playwright-extra mit diesem Befehl zu den Abhängigkeiten Ihres Projekts hinzu:
npm i playwright playwright-extra
Dies kann eine Weile dauern, haben Sie also bitte etwas Geduld.
Schritt 3: Richten Sie Ihr Playwright-Skript ein
Es ist an der Zeit, Ihr Skript zu initialisieren, damit Playwright CAPTCHA-Herausforderungen lösen kann. Importieren Sie den Browser, den Sie steuern möchten, aus playwright-extra, indem Sie diese Zeile zu script.js hinzufügen:
import { chromium } from "playwright-extra"
In diesem Fall werden wir menschliches Verhalten in Chromium automatisieren.
Initialisieren Sie dann eine neue asynchrone Funktion, in der die menschenähnliche Interaktion mithilfe der Playwright-API ausgeführt wird:
(async () => {
// Browser einrichten und starten
const browser = await chromium.launch()
// Neue leere Seite öffnen
const page = await browser.newPage()
// Browser-Automatisierungslogik...
// Browser schließen und Ressourcen freigeben
await browser.close()
})()
Dadurch wird eine neue Chromium-Instanz gestartet und eine neue Seite geöffnet, bevor der Browser geschlossen wird. Großartig, Sie sind bereit, die Browser-Automatisierungslogik hinzuzufügen!
Schritt 4: Implementieren Sie die Browser-Automatisierungslogik
Die Zielseite ist bot.sannysoft.com, eine spezielle Webseite, die einige Tests im Browser durchführt, um herauszufinden, ob der Benutzer ein Mensch oder ein Bot ist. Wenn Sie versuchen, diese Seite in Ihrem lokalen Browser aufzurufen, sollten Sie sehen, dass alle Tests bestanden wurden.
Verbinden Sie sich mit der Zielseite mithilfe der Methode goto():
await page.goto("https://bot.sannysoft.com/")
Erstellen Sie dann einen Screenshot der gesamten Seite, um die Ergebnisse der Anti-Bot-Tests zu sehen:
await page.screenshot("results.png")
Wenn Sie alles zusammenfügen, erhalten Sie die folgende script.js -Datei:
import { chromium } from "playwright-extra"
(async () => {
// Browser einrichten und starten
const browser = await chromium.launch()
// Neue leere Seite öffnen
const page = await browser.newPage()
// Zur Zielseite navigieren
await page.goto("https://bot.sannysoft.com/")
// Screenshot der gesamten Seite erstellen
await page.screenshot({
path: "results.png",
fullPage: true
})
// Browser schließen und Ressourcen freigeben
await browser.close()
})()
Führen Sie den obigen Code mit dem folgenden Befehl aus:
node script.js
Das Skript öffnet eine Chromium-Instanz im Headless-Modus, ruft die gewünschte Seite auf, erstellt einen Screenshot und schließt anschließend den Browser. Wenn Sie die Datei results.png öffnen, die nach Ausführung des Skripts im Stammverzeichnis des Projekts erscheint, sehen Sie Folgendes:

Wie Sie sehen können, besteht Vanilla Playwright im Headless-Modus mehrere Tests nicht. Aus diesem Grund zeigen WAFs CAPTCHAs an, wenn sie mit Seiten in Playwright interagieren. Die Lösung? Das Stealth-Plugin!
Schritt 5: Installieren Sie das Playwright Stealth-Plugin
Playwright Stealth ist ein Plugin für playwright-extra, um die Erkennung von Bots zu verhindern. Dieses Plugin überschreibt mehrere Konfigurationen, damit die Browser-Instanz natürlich erscheint, als würde sie nicht von Playwright gesteuert. Konkret ändert dieses Modul die Browsereigenschaften, um alle Lecks zu verhindern, die den Browser als automatisiert entlarven.
Das Stealth-Plugin wurde ursprünglich für Puppeteer Extra entwickelt, funktioniert aber auch für Playwright Extra. Installieren Sie es über das npm-Paket puppeteer-extra-plugin-stealth mit diesem Befehl:
npm i puppeteer-extra-plugin-stealth
Importieren Sie anschließend das Stealth-Plugin in Ihre script.js -Datei mit dieser Zeile:
import StealthPlugin from "puppeteer-extra-plugin-stealth"
Schritt 6: Registrieren Sie die Stealth-Einstellungen
Um die Playwright-CAPCHA-Bypass-Logik zu implementieren, registrieren Sie einfach das Stealth-Plugin in playwright-extra über die use() -Methode:
chromium.use(StealthPlugin())
Der von Playwright gesteuerte Browser erscheint nun als echter Browser, der von einem menschlichen Benutzer verwendet wird.
Schritt 7: Wiederholen Sie den Bot-Erkennungstest
So sollte Ihre script.js -Datei derzeit aussehen:
import { chromium } from "playwright-extra"
import StealthPlugin from "puppeteer-extra-plugin-stealth"
(async () => {
// Registrieren Sie das Stealth-Plugin.
chromium.use(StealthPlugin())
// Browser einrichten und starten
const browser = await chromium.launch()
// Neue leere Seite öffnen
const page = await browser.newPage()
// Zur Zielseite navigieren
await page.goto("https://bot.sannysoft.com/")
// Screenshot der gesamten Seite erstellen
await page.screenshot({
path: "results.png",
fullPage: true
})
// Browser schließen und Ressourcen freigeben
await browser.close()
})()
Starten Sie das Skript erneut:
node script.js
Öffnen Sie results.png erneut, und Sie werden sehen, dass alle Bot-Erkennungstests bestanden wurden:

Et voilà! Der Playwright-CAPTCHA-Bypass-Trick ist abgeschlossen!
Was passiert, wenn die oben beschriebene Playwright-CAPTCHA-Lösung nicht funktioniert?
Leider sind die Browsereinstellungen nicht der einzige Aspekt, auf den sich Anti-Bot-Tools konzentrieren. Die IP-Reputation ist ein weiterer wichtiger Faktor, und Sie können Ihre Exit-IP nicht einfach mit einer kostenlosen Bibliothek ändern. Dazu benötigen Sie die Playwright-Proxy-Integration!
Daher können CAPTCHAs auch dann noch erscheinen, wenn Sie Ihren Browser optimal konfiguriert haben. Für einfache CAPTCHAs, die nur einen einzigen Klick erfordern, können Sie das Plugin puppeteer-extra-plugin-recaptcha verwenden. Der im vorherigen Kapitel beschriebene Ansatz mit Plugins funktioniert jedoch nur gegen einfache Anti-Bot-Maßnahmen. Bei komplexeren Tools wie Cloudflare benötigen Sie etwas Leistungsfähigeres.
Suchen Sie nach einem echten Playwright CAPTCHA-Löser? Probieren Sie die Web-Scraping-Lösungen von Bright Data aus!
Diese bieten überlegene Entsperrungsfunktionen mit einer speziellen CAPTCHA-Lösung zur automatischen Verarbeitung von reCAPTCHA, hCaptcha, px_captcha, SimpleCaptcha, GeeTest CAPTCHA, FunCaptcha, Cloudflare Turnstile, AWS WAF Captcha, KeyCAPTCHA und vielen anderen. Die Integration des CAPTCHA-Lösers von Bright Data in Ihr Skript ist einfach, da er mit jedem HTTP-Client oder Browser-Automatisierungstool funktioniert.
Erfahren Sie mehr über die Verwendung des CAPTCHA-Lösers von Bright Data. Alle Details zur Integration und Konfiguration finden Sie in der Dokumentation.
Fazit
In diesem Artikel haben Sie erfahren, warum CAPTCHAs eine Herausforderung für Playwright darstellen und wie Sie damit umgehen können. Mit der Playwright Stealth-Bibliothek können Sie die Standardkonfiguration des Browsers überschreiben, um die Bot-Erkennung zu umgehen. Dennoch reicht dieser Ansatz möglicherweise nicht immer aus.
Unabhängig davon, wie ausgefeilt Ihr Playwright-Skript ist, können fortschrittliche Bot-Erkennungssysteme Sie dennoch als Bot identifizieren. Die Lösung besteht darin, sich über eine Entsperr-API mit Ihrer Zielseite zu verbinden, die nahtlos den CAPTCHA-freien HTML-Code jeder Webseite zurückgeben kann.
Diese API existiert und heißt Web Unlocker. Ihr Ziel ist es, die Exit-IP bei jeder Anfrage über eine Proxy-Integration automatisch zu rotieren, Browser-Fingerprinting, automatische Wiederholungsversuche und CAPTCHA-Auflösung für Sie zu übernehmen. Vergessen Sie Anti-Bot-Maßnahmen!
Registrieren Sie sich jetzt und starten Sie noch heute mit dem Gratis-Testen.