Anleitungen
reCAPTCHA-Parameter finden
Diese Seite wurde maschinell aus der chinesischen Version übersetzt und kann Fehler enthalten. Maßgeblich ist die chinesische Version.
Für eine reCAPTCHA-Aufgabe benötigen Sie websiteURL (die Seite, auf der das Captcha erscheint) und websiteKey (den Website-Schlüssel); v3 braucht zusätzlich pageAction. Wenn Sie den Browser mit Selenium oder ähnlichen Tools steuern, brauchen Sie außerdem die Callback-Funktion. All das finden Sie in den Entwicklertools des Browsers (F12).
Der schnellste Weg: Skript für die automatische Suche
Abschnitt betitelt „Der schnellste Weg: Skript für die automatische Suche“Öffnen Sie die Seite mit dem Captcha, öffnen Sie mit F12 die Konsole (Console), fügen Sie das folgende Skript ein und führen Sie es aus:
// Paste into the browser DevTools console on a page with reCAPTCHA, then run findRecaptchaClients().// Lists every reCAPTCHA on the page: version (V2/V3), sitekey, page URL and the callback function.function findRecaptchaClients() { if (typeof ___grecaptcha_cfg === 'undefined') return []; return Object.entries(___grecaptcha_cfg.clients).map(([cid, client]) => { const data = { id: cid, version: cid >= 10000 ? 'V3' : 'V2' }; const objects = Object.entries(client).filter(([, value]) => value && typeof value === 'object'); objects.forEach(([toplevelKey, toplevel]) => { const found = Object.entries(toplevel).find( ([, value]) => value && typeof value === 'object' && 'sitekey' in value && 'size' in value, ); if (toplevel instanceof HTMLElement && toplevel.tagName === 'DIV') data.pageurl = toplevel.baseURI; if (found) { const [sublevelKey, sublevel] = found; data.sitekey = sublevel.sitekey; const callbackKey = data.version === 'V2' ? 'callback' : 'promise-callback'; const callback = sublevel[callbackKey]; if (!callback) { data.callback = null; data.function = null; } else { data.function = callback; const keys = [cid, toplevelKey, sublevelKey, callbackKey].map((key) => `['${key}']`).join(''); data.callback = `___grecaptcha_cfg.clients${keys}`; } } }); return data; });}
findRecaptchaClients();In der Ausgabe ist sitekey der websiteKey, pageurl die websiteURL und version zeigt, ob es v2 oder v3 ist. function und callback bezeichnen die Callback-Funktion:
[ { "id": "0", "version": "V2", "sitekey": "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-", "function": "onSuccess", "callback": "___grecaptcha_cfg.clients['0']['l']['l']['callback']", "pageurl": "https://www.google.com/recaptcha/api2/demo" }]Ein leeres Array bedeutet, dass reCAPTCHA auf der Seite noch nicht geladen ist. Führen Sie das Skript erneut aus, sobald das Captcha erscheint.
websiteKey und websiteURL
Abschnitt betitelt „websiteKey und websiteURL“Suchen Sie im Network-Bereich nach anchor und suchen Sie eine Anfrage wie diese:
https://www.google.com/recaptcha/api2/anchor?ar=1&k=6LfW6wATAAAAAHLqO2pb8bDBahxlMxNdo9g947u9&co=...&hl=en&size=normal- Der Wert nach
k=ist derwebsiteKey. - Als
websiteURLtragen Sie die vollständige Adresse der Seite ein, auf der das Captcha erscheint (in der Regel derRefererdieser Anfrage).
Sie können auch im Quelltext der Seite nach data-sitekey suchen.
pageAction (v3)
Abschnitt betitelt „pageAction (v3)“pageAction ist die action, die die Seite bei grecaptcha.execute(Website-Schlüssel, {action: '...'}) übergibt. Der Wert muss mit dem der Seite übereinstimmen.
Methode 1: Quelltext durchsuchen. Klicken Sie im Bereich Sources der Entwicklertools mit der rechten Maustaste und wählen Sie „Search in all files“. Suchen Sie bei normalem v3 nach .execute(, bei v3 Enterprise nach .enterprise.execute, und sehen Sie sich die darauf folgende action an:
grecaptcha.ready(function () { grecaptcha.execute('6LdpS-gUAAAAAL3Qr2yP7rkrQjkKBVvEY_48JS5l', { action: 'login' }).then(function (token) { // ... });});Hier ist pageAction also login.
Methode 2: Haltepunkt. Ist der Code verschleiert und die Suche findet nichts, führen Sie in der Konsole debug(grecaptcha.execute) aus (bei Enterprise debug(grecaptcha.enterprise.execute)) und lösen Sie dann auf der Seite eine Aktion aus, die die Prüfung startet (zum Beispiel Klick auf „Anmelden“). Wenn der Debugger am Haltepunkt stoppt, lesen Sie den Wert von action rechts im Bereich Scope ab.
Eine Website kann in verschiedenen Schritten unterschiedliche action-Werte verwenden (zum Beispiel bei der Registrierung zuerst signup/submit_email, dann signup/success). Verwenden Sie den Wert des Schritts, den Sie bestehen müssen. Mit F8 setzen Sie die Ausführung fort und sehen die nächste action.
Callback-Funktion
Abschnitt betitelt „Callback-Funktion“Wenn Sie den Token mit Selenium oder ähnlichen Tools im Browser eintragen, rufen Sie danach die Callback-Funktion der Seite auf, um ihr mitzuteilen, dass die Prüfung abgeschlossen ist:
- Suchen Sie im Bereich Elements nach
data-callback. Der Wert ist der Name der Callback-Funktion, zum Beispieldata-callback="onSuccess". - Oder suchen Sie nach
grecaptcha.renderund sehen Sie sich den Parametercallbackan. - Oder prüfen Sie in der Konsole
___grecaptcha_cfg.clientsoder verwenden Sie das oben beschriebene Skript.
So rufen Sie sie auf:
driver.execute_script("onSuccess(arguments[0])", g_recaptcha_response)Manche Seiten haben keine Callback-Funktion. Tragen Sie dann den Token in das Textfeld g-recaptcha-response ein und senden Sie das Formular direkt ab. Den vollständigen Ablauf finden Sie unter reCAPTCHA mit einem Token abschließen.