Zurück zum Blog
Leitfaden8 Min. Lesezeit
Automatische CAPTCHA-Lösung in Antidetect-Browsern: ein praxisnaher Leitfaden
Ein schrittweiser Blick darauf, wie Ornold Sitekeys erkennt, Challenge-Typen bestimmt und Tokens gleichzeitig in viele Browserprofile einfügt.
5. Apr. 2026Warum CAPTCHAs in Antidetect-Workflows anders sind
In einem normalen Browser lösen Sie ein CAPTCHA einmal und machen weiter. Bei der Antidetect-Automatisierung erscheinen CAPTCHAs gleichzeitig auf Dutzenden von Browser-Profilen — jedes mit seiner eigenen Sitzung, Cookies und Fingerabdruck. Sie einzeln zu lösen macht den Zweck der parallelen Automatisierung zunichte.
Ornold behandelt die CAPTCHA-Lösung als Batch-Operation: Erkennt den Challenge-Typ über alle aktiven Sitzungen hinweg, extrahiert Sitekeys, sendet sie an einen Solver und injiziert Response-Token — alles in einem koordinierten Durchgang.
Unterstützte CAPTCHA-Typen
Ornold erkennt und löst die häufigsten Challenge-Typen auf modernen Websites:
- reCAPTCHA v2 — Das klassische "Ich bin kein Roboter"-Kontrollkästchen und Bildgitter-Challenges
- reCAPTCHA v3 — Unsichtbare Score-basierte Verifizierung, die im Hintergrund läuft
- hCaptcha — Bildklassifizierungs-Challenges ("Wählen Sie alle Bilder mit Motorrädern")
- Cloudflare Turnstile — Die nicht-interaktive Challenge, die reCAPTCHA auf vielen Websites ersetzt hat
- Benutzerdefinierte Challenges — Drücken-und-Halten-Buttons, Schieberegler-Rätsel und andere interaktive Verifizierungen
Der Solver wählt automatisch den richtigen Ansatz basierend auf dem, was er auf der Seite erkennt. Sie müssen den CAPTCHA-Typ nicht angeben — rufen Sie einfach `browser_solve_captcha()` auf und Ornold kümmert sich um den Rest.
Wie die Lösungs-Pipeline funktioniert
Der CAPTCHA-Lösungsprozess hat vier Stufen. Jede läuft parallel über alle aktiven Browser-Sitzungen.
Stufe 1 — Erkennung
Ornold scannt jede aktive Browser-Sitzung nach bekannten CAPTCHA-Mustern. Es prüft auf:
- reCAPTCHA iframes und Script-Tags (`google.com/recaptcha`)
- hCaptcha Container und API-Skripte (`hcaptcha.com`)
- Turnstile Widgets (`challenges.cloudflare.com`)
- Benutzerdefinierte Challenge-Elemente (Drücken-und-Halten-Buttons, Schieberegler-Spuren)
Die Erkennung erfolgt durch DOM-Inspektion und bei Bedarf durch visuelle Analyse. Wenn ein CAPTCHA hinter einer Überlagerung verborgen oder dynamisch geladen ist, erfasst das visuelle Fallback es.
// Erkennung erfolgt automatisch beim Aufrufen von solve
const result = await browser_solve_captcha();
// result zeigt, welche Sitzungen CAPTCHAs hatten und deren Typen
// { total: 20, detected: 18, solved: 18, failed: 0 }
Stufe 2 — Sitekey-Extraktion
Jedes CAPTCHA-Widget ist an einen Sitekey gebunden — einen öffentlichen Bezeichner, der dem CAPTCHA-Anbieter mitteilt, welche Website eine Verifizierung anfordert. Ornold extrahiert diesen Schlüssel automatisch aus dem Seiten-DOM.
Bei reCAPTCHA befindet sich der Sitekey im `data-sitekey`-Attribut des Widget-Divs oder in den Script-URL-Parametern. Bei hCaptcha befindet er sich in einem ähnlichen Attribut. Bei Turnstile ist er in der Cloudflare-Skriptkonfiguration eingebettet.
Der Sitekey wird zusammen mit der Seiten-URL an den Lösungsdienst gesendet. Dies macht die Lösung gültig — das Token wird für diese spezifische Kombination aus Website und Schlüssel generiert.
Stufe 3 — Token-Generierung
Ornold sendet den Sitekey und die Seiten-URL an einen CAPTCHA-Lösungsdienst (2captcha). Der Dienst gibt ein Response-Token zurück — einen String, der beweist, dass die Challenge abgeschlossen wurde.
Die Lösungszeiten variieren je nach CAPTCHA-Typ:
- reCAPTCHA v2 — 15-45 Sekunden (Bilderkennung erforderlich)
- reCAPTCHA v3 — 5-15 Sekunden (Score-basiert, keine Bilder)
- hCaptcha — 15-60 Sekunden (hängt vom Schwierigkeitsgrad ab)
- Turnstile — 5-20 Sekunden (normalerweise schneller als bildbasierte Challenges)
Tokens werden parallel für alle Sitzungen generiert. Wenn 20 Browser eine Lösung benötigen, werden alle 20 Anfragen gleichzeitig gesendet. Die Gesamtwartzeit ist ungefähr gleich wie das Lösen eines.
Stufe 4 — Token-Injektion
Sobald das Token ankommt, injiziert Ornold es in die Seite. Die Injektionsmethode hängt vom CAPTCHA-Typ ab:
- reCAPTCHA v2/v3 — Setzt den `g-recaptcha-response` Textarea-Wert und ruft die Callback-Funktion auf
- hCaptcha — Setzt das `h-captcha-response` Feld und triggert den Verifizierungs-Callback
- Turnstile — Injiziert das Token in das Turnstile-Response-Feld und sendet das Success-Event
Nach der Injektion klickt Ornold optional auf die Submit-Schaltfläche oder wartet auf das automatische Voranschreiten der Seite. Das CAPTCHA-Widget verschwindet und das Formular wird fortgesetzt, als hätte ein Mensch es gelöst.
// Vollständiger solve + verification Flow
await browser_parallel_navigate({ url: "https://target.example/signup" });
await browser_parallel_fill({ ref: "email", values: emails });
// Löse CAPTCHAs über alle Sitzungen
const result = await browser_solve_captcha();
console.log(`Gelöst: ${result.solved}/${result.total}`);
// Sende das Formular
await browser_parallel_click({ ref: "submit" });
// Verifiziere Erfolg
await browser_parallel_wait_for({ text: "Account created", timeoutMs: 15000 });
Umgang mit Drücken-und-Halten-Challenges
Einige Websites verwenden benutzerdefinierte Challenges, die das Drücken einer Schaltfläche für mehrere Sekunden erfordern. Diese können nicht durch Token-Injektion gelöst werden — sie benötigen echte Mausinteraktion.
Ornold erkennt Drücken-und-Halten-Challenges visuell und simuliert die Interaktion: Maus auf der Schaltfläche drücken, für die erforderliche Dauer halten, dann loslassen. Dies funktioniert parallel über alle aktiven Sitzungen.
// Drücken-und-Halten-Challenge-Erkennung und Lösung
const captchaCheck = await browser_detect_press_hold();
if (captchaCheck.detected) {
await browser_solve_press_hold();
// Wartet auf die Haltedauer, dann loslassen
}
Batch-CAPTCHA-Lösung in der Praxis
So sieht ein echter CAPTCHA-Lösungslauf über 30 Linken Sphere-Sitzungen während eines Kontoregistrierungsflows aus:
- Navigiere alle 30 Sitzungen zur Registrierungsseite
- Fülle Formularfelder mit profilspezifischen Daten (eindeutige E-Mails, Namen usw.)
- Rufe `browser_solve_captcha()` auf — Ornold erkennt reCAPTCHA v2 auf 28 Sitzungen, Turnstile auf 2 Sitzungen
- Alle 30 Lösungsanfragen werden parallel gesendet
- Tokens kommen in 15-40 Sekunden zurück
- Ornold injiziert Tokens und klickt Submit auf jeder Sitzung
- 29 von 30 erfolgreich. 1 Sitzung erhält eine sekundäre Challenge — Ornold versucht automatisch erneut
Validierung nach der Lösung
Das Lösen des CAPTCHA ist nur die halbe Arbeit. Sie müssen überprüfen, dass die Lösung akzeptiert wurde und die Seite vorangekommen ist. Ornold bietet Tools dafür:
// Verifiziere, dass alle Sitzungen das CAPTCHA überwunden haben
const status = await browser_status();
// Prüfe, welche Sitzungen auf der erwarteten Seite sind
await browser_parallel_wait_for({ text: "Welcome", timeoutMs: 10000 });
// Wenn einige Sitzungen steckengeblieben sind, mache einen Screenshot zur Diagnose
await browser_parallel_screenshot();
Wenn eine Sitzung die Validierung nicht besteht, können Sie die Lösung nur für diese Sitzung wiederholen oder sie zur manuellen Überprüfung markieren. Der Schlüssel ist, Fehler früh zu erkennen, anstatt sie am Ende eines langen Workflows zu entdecken.
CAPTCHA-Guthaben und Abrechnung
Jede CAPTCHA-Lösung verbraucht ein Guthaben von Ihrem Ornold-Konto. Guthaben wird abgezogen, wenn der Lösungsdienst ein Token zurückgibt — nicht wenn Sie die Solve-Funktion aufrufen.
- Kostenlose Konten erhalten 5 CAPTCHA-Guthaben nach Abschluss der Onboarding-Tour
- Bezahlte Pläne enthalten eine monatliche Gutschriftzuteilung basierend auf Ihrer Stufe
- Zusätzliche Guthaben können separat erworben werden
- Fehlgeschlagene Lösungen (bei denen der Dienst kein Token generieren konnte) verbrauchen kein Guthaben
Überprüfen Sie Ihren Gutschriftsaldo im Ornold-Dashboard, bevor Sie große Batches ausführen. Wenn das Guthaben in der Mitte eines Batches ausgeht, haben einige Sitzungen ungelöste CAPTCHAs.
Behebung häufiger Probleme
- «CAPTCHA nicht erkannt» — Die Seite lädt die Challenge möglicherweise dynamisch. Fügen Sie vor der Lösung ein Warten hinzu: `await browser_parallel_wait_for({ selector: "iframe[src*=recaptcha]", timeoutMs: 10000 })`
- «Token abgelehnt» — Das Token ist möglicherweise abgelaufen (gültig für ~2 Minuten). Stellen Sie sicher, dass das Formular vor der Lösung bereit ist, damit Sie sofort danach absenden können.
- «Lösungs-Timeout» — Der Lösungsdienst ist überlastet oder der CAPTCHA-Typ ist ungewöhnlich schwierig. Versuchen Sie es einmal erneut. Wenn es weiterhin besteht, überprüfen Sie den Dienststatus im Ornold-Dashboard.
- «Teilweiser Batch-Fehler» — Einige Sitzungen gelöst, andere nicht. Verwenden Sie `browser_status()` um steckengebliebene Sitzungen zu identifizieren und versuchen Sie es nur mit diesen erneut.
- «Drücken-und-Halten funktioniert nicht» — Stellen Sie sicher, dass das Challenge-Element sichtbar ist und nicht von einer anderen Überlagerung verdeckt wird. Versuchen Sie, zuerst zu ihm zu scrollen.
Best Practices
- Füllen Sie das Formular vor der CAPTCHA-Lösung aus. Tokens laufen in ~2 Minuten ab, minimieren Sie also die Zeit zwischen Lösung und Absendung.
- Verwenden Sie `browser_status()` nach der Lösung, um zu überprüfen, dass alle Sitzungen vorangekommen sind. Nehmen Sie nicht an, dass es erfolgreich ist.
- Für große Batches (50+ Sitzungen) lösen Sie in Gruppen von 20-30, um den Lösungsdienst nicht zu überlasten.
- Überwachen Sie Ihren Gutschriftsaldo. Richten Sie Benachrichtigungen im Dashboard ein, falls verfügbar.
- Wenn eine Website häufig CAPTCHA-Anbieter wechselt, verwenden Sie den Auto-Detect-Flow anstatt einen Typ hartcodiert zu verwenden.