Selenium

Selenium-Captcha-Löser für Python- und WebDriver-Skripte

Ein reCAPTCHA, eine Turnstile-Prüfung, ein GeeTest-v3-Slider oder ein verzerrtes Bild sollten keine WebDriver-Sitzung beenden. Geben Sie dem Browser die CapSkip-Erweiterung mit oder rufen Sie das SDK aus Ihrem Test auf, und jede Lösung läuft lokal, ohne Zähler.

Windows x64·Läuft lokal, sodass kein Captcha Ihren Rechner verlässt
  • Python, C# und Node.js
  • Per Erweiterung oder SDK
  • Geeignet für Selenium Grid
Captchas pro Monat40,000
40.0k250.0k
Anderswo abgerechnet, ca. $1.40 pro 1.000$56.00
CapSkip Bronze, pauschal$35.00
$21.00bleibt in Ihrer Taschejeden Monat, bei diesem Volumen

Früher oder später stößt ein WebDriver-Lauf auf ein Login-, Such- oder Registrierungsformular, das durch eine Challenge geschützt ist, und genau hier kommt ein Selenium-Captcha-Löser ins Spiel. Selenium kann Elemente finden, klicken und tippen, aber kein reCAPTCHA-Token erzeugen und keine verzerrten Buchstaben lesen. Der Test hängt also, und der Bericht füllt sich mit Timeouts. CapSkip arbeitet neben dem Treiber, auf demselben Windows-Computer oder auf einem VPS, den das Skript erreichen kann, und liefert die Antwort, während der Browser wartet.

Es gibt zwei Wege der Einbindung, und sie passen zu unterschiedlichen Selenium-Gewohnheiten. Der No-Code-Weg startet ein Chrome- oder Firefox-Profil, in dem die CapSkip-Erweiterung bereits steckt, sodass Widgets direkt auf der Seite gelöst werden, als hätte ein Mensch sie angeklickt. Der Skript-Weg lässt die Kontrolle in Ihrem Test: pip install capskip, den sitekey mit find_element auslesen, solver.recaptcha() oder solver.turnstile() aufrufen und das Token mit execute_script zurückschreiben. Bild-Captchas kommen nach etwa 0,1 Sekunden als Text zurück.

Auf der Token-Seite deckt CapSkip reCAPTCHA v2, v3 und Enterprise sowie Cloudflare Turnstile ab. GeeTest-v3-Slider, Capy Puzzle, CaptchaFox und AWS WAF CAPTCHA sind ebenfalls dabei, genauso wie die Proof-of-Work-Prüfungen hinter ALTCHA und Friendly Captcha. Bild-Captchas umfassen Tausende von Varianten, und auch hCaptcha ist abgedeckt, einschließlich unsichtbarer und Enterprise-Widgets. FunCaptcha und GeeTest v4 werden nicht unterstützt. Nichts wird gezählt, daher kostet ein nächtlicher Regressionslauf, der Hunderte Challenges auslöst, genau so viel wie einer ohne.

Ihr Treiber-Code kann bleiben, wie er ist. Installieren Sie die CapSkip-Erweiterung in einem Browserprofil, starten Sie Selenium bei laufender App mit diesem Profil, und Challenges lösen sich von selbst, während Ihre expliziten Waits laufen. Wechseln Sie nur dann zum SDK, wenn ein Test die Antwort selbst in der Hand braucht. Lesen Sie den Erweiterungs-Leitfaden

Was der Selenium-Captcha-Löser für WebDriver leistet

Ein Löse-Profil für Chrome oder Firefox

Installieren Sie die Erweiterung einmalig in einem eigenen Chrome-Profil und übergeben Sie es dem Treiber mit user-data-dir, oder laden Sie das Firefox-Add-on über install_addon(). Jedes Fenster, das Selenium öffnet, kann dann lösen, solange die App läuft.

Token-Aufrufe aus derselben Testdatei

Lesen Sie data-sitekey mit find_element aus, übergeben Sie den Wert zusammen mit driver.current_url an solver.recaptcha() und setzen Sie g-recaptcha-response über execute_script. Der Browser bleibt unter der Kontrolle Ihres Skripts, während die App arbeitet.

Bildtext direkt aus dem Live-Element

Erfassen Sie das Bild mit screenshot_as_base64 und schicken Sie es an solver.normal(). Da nichts das Bild ein zweites Mal anfordert, stimmt der Text, den Sie mit send_keys eingeben, mit dem überein, was in dieser Sitzung angezeigt wurde.

Passt zu undetected-chromedriver

Stealth-Treiber wie undetected-chromedriver und der UC-Modus von SeleniumBase sorgen dafür, dass Challenges seltener auftauchen. CapSkip löst diejenigen, die trotzdem durchrutschen, sodass beide Werkzeuge unterschiedliche Hälften des Problems abdecken.

Alte 2Captcha-Helfer laufen weiter

Helfer, die Sie rund um 2Captcha oder Anti-Captcha gebaut haben, brauchen keine Änderungen. Wählen Sie diesen Dienst in der App als Emulator, klicken Sie neben der Hosts-Datei auf Add, und CapSkip beantwortet diese Aufrufe selbst.

Parallele Treiber mit nur einem Abo

Betreiben Sie so viele WebDriver-Instanzen, wie der Rechner verkraftet. Der Tarif begrenzt die Threads nie, und eine Suite, die auf Hunderte Challenges trifft, erhöht die Monatsrechnung um keinen Cent.

Wählen Sie, wie Ihr WebDriver-Code CapSkip anspricht

Python
from selenium import webdriver
from capskip import CapSkip

driver = webdriver.Chrome()
driver.get("https://example.com/login")

solver = CapSkip(host="127.0.0.1", port=8080)
sitekey = driver.find_element("css selector", ".g-recaptcha").get_attribute("data-sitekey")

token = solver.recaptcha(sitekey=sitekey, url=driver.current_url)["code"]

# Inject the token and submit
driver.execute_script(
    "document.getElementById('g-recaptcha-response').innerHTML = arguments[0];",
    token,
)
driver.find_element("css selector", "button[type=submit]").click()

Python Selenium: sitekey aus dem Widget auslesen, ein Token bei CapSkip anfordern, es in das Antwortfeld schreiben und auf Absenden klicken.

Erweiterung im Selenium-Profil

Laden Sie die Erweiterung für Chrome oder Firefox in das Profil, das Selenium startet. Widgets werden direkt vor Ort gelöst, Ihr Test enthält also überhaupt keinen Lösungscode.

SDK-Aufrufe direkt neben Ihren Locators

Clients für Python, Node.js, PHP und C# liefern Tokens und Bildtext, die sofort für execute_script oder send_keys in Ihrem WebDriver-Binding bereitstehen.

Lokale API für alle übrigen Bindings

Java und andere Bindings ohne SDK können die HTTP-API direkt aufrufen, und Selenium-Code, der für Dienste nach Art von 2Captcha geschrieben wurde, funktioniert, sobald der Emulator aktiv ist.

Testen Sie Ihr Selenium-Skript an einem Live-reCAPTCHA

Richten Sie Ihren WebDriver auf unsere reCAPTCHA-v2-Demoseite, führen Sie den Lösungsschritt am echten Google-Widget aus und sehen Sie zu, wie das Formular das Token annimmt, bevor Sie ihn auf Ihre eigenen Ziele ansetzen.

Machen Sie CapSkip neben Ihrer Selenium-Suite startklar

  1. CapSkip auf dem Testrechner installieren

    Installieren Sie CapSkip auf dem Windows-Desktop oder VPS, der Ihre WebDriver-Skripte ausführt, oder auf einem beliebigen Rechner, den diese Skripte über das Netzwerk erreichen, und lassen Sie es während der Testläufe geöffnet. Den Installer herunterladen

  2. Tarif oder kostenlose Testversion aktivieren

    Melden Sie sich mit den Zugangsdaten, die Sie mit Ihrer Bestellung per E-Mail erhalten, bei CapSkip an. Die Testversion gewährt einem Gerät drei Tage und 500 Lösungen, genug, um eine Suite gegen echte Ziele laufen zu lassen. Starten Sie den kostenlosen Test

  3. Den Lösungsschritt zum Treiber hinzufügen

    Starten Sie Selenium entweder mit dem Erweiterungsprofil, oder führen Sie pip install capskip aus und rufen Sie den Solver überall dort auf, wo eine Challenge Ihren Ablauf unterbricht. Jede Methode und Option ist dokumentiert. API-Dokumentation öffnen

Lokales Lösen vs. APIs mit Abrechnung pro Lösung in Selenium

Wie sich CapSkip und Dienste wie 2Captcha unterscheiden, sobald Ihre Selenium-Läufe täglich auf Challenges treffen.

FunktionCapSkip2Captcha & API-Dienste
Was ein kompletter Testlauf kostetDerselbe Monatstarif ab $35, egal wie viele LösungenJede Lösung wird berechnet: größere Suite, höhere Rechnung
Wo die Challenge gelöst wirdAuf dem Rechner, der Ihre Browser steuert, oder einem VPSAuf entfernten Servern, oft von menschlichen Arbeitskräften
Bearbeitungszeit für Bild-CaptchasEtwa 0,1 Sekunden, ohne Umweg über das InternetMehrere Sekunden plus ein Netzwerk-Roundtrip pro Bild
Code, den Sie bereits für 2Captcha geschrieben habenLäuft über den integrierten Emulator weiterAn die API dieses Anbieters und sein Guthaben gebunden
Sitzungs-Screenshots und Challenge-DatenBleiben auf Ihrem eigenen RechnerBei jeder Lösung an einen Drittanbieter gesendet
Parallele WebDriver-SitzungenKeine Thread-Grenze durch den Tarif, nur durch Ihre HardwareMehr Parallelität kostet oft extra
Wege der Anbindung an SeleniumErweiterungsprofil, Python- oder .NET-Client oder einfache HTTP-AufrufeAPI-Schlüssel, Prepaid-Guthaben und eigener Client

Preise

Schluss mit der Abrechnung pro Lösung

Wählen Sie Ihre Lizenz

Bronze-Lizenz

$35/ Monat

Bronze abonnieren

Sofortige Lizenzaktivierung

Monatliche Abrechnung. Kündigen Sie jederzeit in Ihrem Konto.

Gleiche Funktionen. Mehr Rechner, mehr Durchsatz.

Jeder Rechner löst so schnell, wie es seine CPU und sein Arbeitsspeicher erlauben. Mehr Rechner bedeuten mehr gleichzeitige Threads: Silver löst doppelt so viele Captchas gleichzeitig, Gold dreimal so viele.

  • Unbegrenztes Lösen, kein Tageslimit
  • Unbegrenzte Threads, die Geschwindigkeit skaliert mit Ihrer Hardware
  • 90% bis 100% Erkennungsgenauigkeit
  • Direkter Ersatz für die APIs der großen Lösungsdienste
  • Funktioniert mit fast jedem Tool, ohne Programmieren
  • REST-API, SDKs und eine Browser-Erweiterung
  • Kostenloses Training, wenn ein neuer Captcha-Typ auftaucht
  • Läuft auf Ihrem Rechner, nichts verlässt ihn

Jeder oben gezeigte Captcha-Typ ist in jeder Lizenz enthalten. Zur Übersicht der Typen

Möchten Sie es erst ausprobieren?

Starten Sie mit einem kostenlosen 3-tägigen Test und lösen Sie 500 Captchas beliebigen Typs auf Ihren eigenen Zielen.

Starten Sie den kostenlosen Test

reCAPTCHA mit Selenium in Python lösen: Erweiterung oder SDK

Selenium bietet Ihnen zwei verlässliche Möglichkeiten, wenn ein Captcha den Ablauf blockiert: Lassen Sie eine Browsererweiterung die Challenge direkt auf der Seite erledigen, oder lösen Sie sie aus Ihrem Skript heraus und injizieren Sie die Antwort. Beide setzen voraus, dass die CapSkip-App irgendwo läuft, wo Ihr Test sie erreichen kann, und welche die richtige ist, hängt davon ab, wie viel Kontrolle der Test braucht.

Der Weg über die Erweiterung. Legen Sie ein Chrome-Profil an, installieren Sie darin die CapSkip-Erweiterung und starten Sie webdriver.Chrome über das Argument user-data-dir mit diesem Profil. Für Firefox rufen Sie driver.install_addon() mit der Add-on-Datei auf. Arbeiten Sie im Headed-Modus oder mit --headless=new, denn der alte Headless-Modus lädt keine Erweiterungen. Widgets für reCAPTCHA, Turnstile und GeeTest v3 werden dann direkt vor Ort erledigt, und Ihr WebDriverWait muss nur noch warten, bis das Formular weiterspringt.

Der Weg über das SDK. Installieren Sie den Client mit pip install capskip (Python 3.10 oder neuer) und erstellen Sie einen Solver für die gesamte Sitzung, der standardmäßig auf 127.0.0.1 und Port 8080 zeigt. Für reCAPTCHA nehmen Sie data-sitekey aus dem Element .g-recaptcha oder, wenn JavaScript das Widget rendert, den k-Wert im src des reCAPTCHA-iframes, und rufen dann solver.recaptcha() mit driver.current_url auf. Ein unsichtbares Widget braucht invisible=1, v3 dagegen version v3 plus den action-String, den die Seite beim Ausführen der Prüfung übergibt. Setzen Sie g-recaptcha-response mit execute_script, führen Sie den data-callback aus, falls das Widget einen angibt, und senden Sie innerhalb von zwei Minuten ab. Für Turnstile verwenden Sie stattdessen solver.turnstile() und das versteckte Feld cf-turnstile-response, der restliche Ablauf bleibt gleich.

Wenn Sie in Python Selenium Bild-Captchas lösen wollen, lesen Sie screenshot_as_base64 aus dem img-Element, übergeben diesen String mit dem Präfix data:image/png;base64 an solver.normal() und tippen das Ergebnis mit send_keys ein. Rufen Sie die Bild-URL nie erneut ab: Die meisten Bild-Captchas gehören zur Sitzung, und eine zweite Anfrage erzeugt ein neues Bild. Geben Sie CapSkip für reCAPTCHA und Turnstile den Proxy Ihres Browsers mit (HTTP, HTTPS, SOCKS5 oder SOCKS5h), Bild-Lösungen brauchen keinen.

Weitere Anleitungen: Captchas in undetected-chromedriver · Captchas in SeleniumBase · Captchas in Selenium Grid

Wie löse ich reCAPTCHA mit Selenium in Python am schnellsten?
Lassen Sie die CapSkip-App laufen, führen Sie pip install capskip aus und lesen Sie data-sitekey aus dem Element .g-recaptcha. Rufen Sie solver.recaptcha() mit diesem Schlüssel und driver.current_url auf und ergänzen Sie bei Bedarf invisible=1 oder version v3 mit der action der Seite. Schreiben Sie den zurückgegebenen Code mit execute_script in g-recaptcha-response, lösen Sie den data-callback aus, falls vorhanden, und senden Sie dann ab.
Sollte mein Selenium-Projekt die Erweiterung oder das SDK nutzen?
Nehmen Sie die Erweiterung, wenn Sie keinerlei Lösungscode wollen: Das Browserprofil erledigt jedes Widget ohne Hilfe, während Ihre Waits laufen. Nehmen Sie das SDK, wenn der Test selbst entscheiden muss, wann gelöst wird, das Ergebnis protokollieren, es erneut versuchen oder im alten Headless-Modus laufen soll. Sie können mit der Erweiterung beginnen und stark genutzte Pfade später auf das SDK umstellen.
Wie bekomme ich die Erweiterung in den Browser, den Selenium öffnet?
Für Chrome installieren Sie die Erweiterung aus dem Chrome Web Store in ein eigenes Profil und starten Selenium dann über das Argument user-data-dir mit diesem Profil. Für Firefox übergeben Sie die Add-on-Datei an driver.install_addon(). Arbeiten Sie im Headed-Modus oder mit --headless=new, weil der veraltete Headless-Modus keine Erweiterungen laden kann, und lassen Sie die CapSkip-App geöffnet, während Tests laufen.
Wie übergibt Selenium ein Bild-Captcha an CapSkip?
Suchen Sie das img-Element des Captchas, lesen Sie seine Eigenschaft screenshot_as_base64 und übergeben Sie sie mit dem Präfix data:image/png;base64 an solver.normal(). Tippen Sie die zurückgegebenen Zeichen mit send_keys in das Antwortfeld. Ein Screenshot ist besser als das Herunterladen der Bild-URL, weil die Website das Bild an Ihre Sitzung bindet und eine neue Anfrage andere Buchstaben zeigen würde.
Bewältigt es in Selenium auch Cloudflare Turnstile, einschließlich der ganzseitigen Prüfung?
Ja. Für das Widget lesen Sie data-sitekey aus dem Element .cf-turnstile, rufen solver.turnstile() mit der Seiten-URL auf und schreiben das Token vor dem Absenden in cf-turnstile-response. Zeigt Cloudflare stattdessen seine ganzseitige Prüfung, löst CapSkip auch diese und liefert neben dem Token einen userAgent. Verwenden Sie ihn für den Rest dieser Selenium-Sitzung weiter, damit die Freigabe gültig bleibt.
Das Formular lehnt mein injiziertes Token weiterhin ab. Was ist meistens schiefgelaufen?
Drei Ursachen erklären die meisten Fälle: Das Token ist älter als zwei Minuten, der data-callback wurde nie aufgerufen, oder die Seite enthält mehrere Widgets und sendet g-recaptcha-response-1 statt des ersten Felds. Lösen Sie unmittelbar vor dem Absenden, rufen Sie den Callback auf und prüfen Sie im Netzwerk-Tab, welches Feld Ihr Formular tatsächlich sendet.
Kann ich CapSkip aus Selenium in C#, Node.js oder Java aufrufen?
Ja. WebDriver-Projekte in C# fügen den .NET-Client mit dotnet add package CapSkip hinzu, und selenium-webdriver in Node.js nutzt npm install capskip. Die Schritte zum Finden, Lösen und Injizieren entsprechen dem Ablauf in Python. Java und andere Bindings haben kein SDK, sie rufen die lokale HTTP-API daher mit einem beliebigen HTTP-Client direkt auf.
Funktioniert der Löser mit Headless Chrome und Selenium Grid?
Der SDK-Weg funktioniert in jedem Browsermodus, weil die Lösung in CapSkip läuft und der Test nur Host und Port erreichen muss. Auf dem Grid bleibt es dadurch einfach: Das Testskript ruft den Solver auf, nicht der Node. Der Weg über die Erweiterung braucht Chrome im Headed-Modus oder den neuen Headless-Modus.

Lassen Sie Ihre Selenium-Suite jeden Lauf zu Ende bringen

Installieren Sie CapSkip neben Ihrem Treiber, melden Sie sich an und wählen Sie die Erweiterung oder das SDK. Ihr nächster WebDriver-Lauf löst seine Captchas lokal, und die Monatsrechnung bleibt gleich, egal worauf die Suite stößt.