Explainers

reCAPTCHA v2 Unsichtbar: Triggererkennung und -lösung

reCAPTCHA v2 Invisible hat kein sichtbares Kontrollkästchen. Es wird automatisch aktiviert, wenn ein Benutzer ein Formular absendet oder auf eine Schaltfläche klickt, und zeigt nur dann eine Herausforderung an, wenn die Risikoanalyse von Google verdächtiges Verhalten erkennt. Dies erschwert die Erkennung in der Automatisierung – Sie bemerken möglicherweise erst dann, dass ein CAPTCHA vorhanden ist, wenn Ihre Formularübermittlung fehlschlägt.


Wie sich Invisible reCAPTCHA von Standard v2 unterscheidet

Funktion reCAPTCHA v2 Standard reCAPTCHA v2 Unsichtbar
Sichtbares Widget Ja (Kontrollkästchen) Nein (nur Abzeichen)
Benutzerinteraktion Klicken Sie auf das Kontrollkästchen Automatisch beim Absenden des Formulars
data-size normal oder compact invisible
Herausforderungs-Popup Immer möglich Nur für verdächtige Benutzer
DOM-Element .g-recaptcha div .g-recaptcha div oder programmatisch

Unsichtbares reCAPTCHA erkennen

Methode 1: Überprüfen Sie das Datengrößenattribut

// Browser console
const widgets = document.querySelectorAll('.g-recaptcha');
widgets.forEach((el, i) => {
  const size = el.getAttribute('data-size');
  const sitekey = el.getAttribute('data-sitekey');
  console.log(`Widget ${i}: size=${size}, sitekey=${sitekey}`);
  if (size === 'invisible') {
    console.log('  → This is Invisible reCAPTCHA');
  }
});

Methode 2: Suchen Sie nach dem Abzeichen

Unsichtbares reCAPTCHA zeigt ein kleines Abzeichen in der Ecke:

const badge = document.querySelector('.grecaptcha-badge');
if (badge) {
  console.log('reCAPTCHA badge found — likely Invisible reCAPTCHA');
  console.log('Badge visibility:', getComputedStyle(badge).visibility);
}

Methode 3: Überprüfen Sie die Aufrufe von grecaptcha.execute

Wenn die Seite einen programmgesteuerten Aufruf verwendet (kein .g-recaptcha-Div):

// Look for grecaptcha.execute in page scripts
document.querySelectorAll('script:not([src])').forEach(s => {
  if (s.textContent.includes('grecaptcha.execute')) {
    console.log('Found grecaptcha.execute — Invisible reCAPTCHA');
    const match = s.textContent.match(/grecaptcha\.execute\s*\(\s*['"]?([^'",\s)]+)/);
    if (match) console.log('Sitekey:', match[1]);
  }
});

Methode 4: Überprüfen Sie den Renderparameter des Skript-Tags

document.querySelectorAll('script[src*="recaptcha"]').forEach(s => {
  if (s.src.includes('render=') && !s.src.includes('render=explicit')) {
    console.log('Invisible/v3 reCAPTCHA detected in script:', s.src);
  }
});

Lösung mit CaptchaAI

Der Hauptunterschied: Übergeben Sie invisible=1 an CaptchaAI, damit der Solver weiß, dass es sich um eine unsichtbare Variante handelt.

Python

import requests
import time

API_KEY = "YOUR_API_KEY"

# Submit with invisible flag
resp = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": API_KEY,
    "method": "userrecaptcha",
    "googlekey": "6Le-SITEKEY",
    "pageurl": "https://example.com/login",
    "invisible": "1",  # critical for Invisible reCAPTCHA
    "json": "1",
}).json()

if resp["status"] != 1:
    raise Exception(f"Submit error: {resp['request']}")

task_id = resp["request"]
print(f"Submitted: {task_id}")

# Poll for result
for _ in range(24):
    time.sleep(5)
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": API_KEY, "action": "get", "id": task_id, "json": "1"
    }).json()

    if result["status"] == 1:
        print(f"Token: {result['request'][:50]}...")
        break
    if result["request"] != "CAPCHA_NOT_READY":
        raise Exception(f"Error: {result['request']}")

JavaScript

const axios = require('axios');

const resp = await axios.post('https://ocr.captchaai.com/in.php', null, {
  params: {
    key: 'YOUR_API_KEY',
    method: 'userrecaptcha',
    googlekey: '6Le-SITEKEY',
    pageurl: 'https://example.com/login',
    invisible: 1,
    json: 1,
  }
});
const taskId = resp.data.request;
console.log(`Submitted: ${taskId}`);

Token-Injection für Invisible reCAPTCHA

Unsichtbares reCAPTCHA ist normalerweise an eine Schaltfläche oder ein Formular zum Senden gebunden. Nach der Injektion müssen Sie den Rückruf auslösen oder das Formular abschicken:

from selenium import webdriver
from selenium.webdriver.common.by import By

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

# After solving, inject and trigger
driver.execute_script("""
    // Set the token
    document.querySelector('textarea[name="g-recaptcha-response"]').value = arguments[0];

    // Find and trigger the callback
    var widget = document.querySelector('.g-recaptcha');
    var callbackName = widget ? widget.getAttribute('data-callback') : null;

    if (callbackName && typeof window[callbackName] === 'function') {
        window[callbackName](arguments[0]);
    }
""", token)

# Submit the form
driver.find_element(By.CSS_SELECTOR, "form#login").submit()

Identifizieren des Auslöseelements

Unsichtbares reCAPTCHA kann an eine bestimmte Schaltfläche gebunden werden:

<button class="g-recaptcha"
        data-sitekey="6Le-SITEKEY"
        data-callback="onSubmit"
        data-size="invisible">
  Submit
</button>

Oder programmgesteuert aktiviert:

// Site's code
document.getElementById('submit-btn').addEventListener('click', function() {
  grecaptcha.execute();
});

Überprüfen Sie beide Muster:

// Find elements with g-recaptcha class that are buttons
document.querySelectorAll('button.g-recaptcha, input.g-recaptcha').forEach(el => {
  console.log('Trigger element:', el.tagName, el.textContent.trim());
  console.log('  data-sitekey:', el.getAttribute('data-sitekey'));
  console.log('  data-callback:', el.getAttribute('data-callback'));
});

Fehlerbehebung

Problem Ursache Lösung
Token abgelehnt invisible=1 fehlt in der Übermittlung Fügen Sie invisible: "1" zur CaptchaAI-Anfrage hinzu
Sitekey kann nicht gefunden werden Kein .g-recaptcha div Suchen Sie nach programmatischen grecaptcha.render()- oder grecaptcha.execute()-Aufrufen
Das Formular wird gesendet, schlägt jedoch fehl Rückruf nicht ausgelöst Suchen Sie die Funktion data-callback und rufen Sie sie auf
CAPTCHA nicht erkannt Wird nur bei verdächtigem Datenverkehr angezeigt Suchen Sie nach grecaptcha-badge-Element- oder Recaptcha-Skript-Tags

FAQ

Wie kann ich Invisible v2 von v3 unterscheiden?

Invisible v2 verwendet grecaptcha.execute() ohne einen action-Parameter. v3 verwendet grecaptcha.execute(sitekey, {action: 'submit'}) mit einer Aktion. Außerdem verwendet Version 3 render=SITEKEY in der Skript-URL.

Ist es wichtig, die unsichtbare Flagge zu vergessen?

Ja. Ohne invisible=1 versucht der Solver möglicherweise einen anderen Lösungsansatz, der von der Site abgelehnte Token erzeugt.

Kann ich Invisible reCAPTCHA ohne Browser lösen?

Ja – Sie benötigen nur den Sitekey und die Seiten-URL. Der Browser wird nur benötigt, um das Token einzuschleusen und den Rückruf auszulösen.


Lösen Sie reCAPTCHA v2 Invisible nahtlos mit CaptchaAI

Holen Sie sich Ihren API-Schlüssel untercaptchaai.com.


Verwandte Leitfäden

  • reCAPTCHA v2-Rückrufmechanismus
  • Extrahieren von reCAPTCHA-Parametern aus der Seitenquelle
  • CAPTCHA-Erkennung der Browserkonsole
Kommentare sind für diesen Artikel deaktiviert.

Verwandte Beiträge

Comparisons Headless vs. Headed Chrome für CAPTCHA-Tests in eigener QA
Wann sich Headless-Chrome und wann Headed-Chrome für CAPTCHA-Tests in eigenen CI- und QA-Pipelines eignet, und welche Auswirkungen die Wahl auf Stabilität und L...

Wann sich Headless-Chrome und wann Headed-Chrome für CAPTCHA-Tests in eigenen CI- und QA-Pipelines eignet, und...

Apr 17, 2026
Comparisons WebDriver vs. Chrome DevTools Protocol in eigener CAPTCHA-QA
Vergleich von Web Driver und Chrome Dev Tools Protocol für QA-Tests gegen die eigene CAPTCHA-Integration: Stärken, Grenzen und Einsatzempfehlungen.

Vergleich von Web Driver und Chrome Dev Tools Protocol für QA-Tests gegen die eigene CAPTCHA-Integration: Stär...

Apr 17, 2026
Tutorials CAPTCHA in Pop-up-Modalen: Erkennung und Token-Injektion
CAPTCHA in Pop-up-Modalen erkennen und Token injizieren: Playwright und Puppeteer Workflows mit Captcha AI für re CAPTCHA und Turnstile.

CAPTCHA in Pop-up-Modalen erkennen und Token injizieren: Playwright und Puppeteer Workflows mit Captcha AI für...

May 05, 2026