Microsoft Power Automate (ehemals Flow) automatisiert Geschäftsprozesse im gesamten Microsoft-Ökosystem und Hunderten von Drittanbieterdiensten. Wenn diese Arbeitsabläufe auf CAPTCHA-geschützte Webformulare oder APIs stoßen,CaptchaAIkönnen sie über den HTTP-Connector von Power Automate lösen.
In dieser Anleitung wird gezeigt, wie Sie einen Power Automate-Flow erstellen, der CAPTCHAs an CaptchaAI sendet, Ergebnisse abfragt und das gelöste Token verwendet, um Formularübermittlungen abzuschließen.
Szenario aus der realen Welt
Ihr Finanzteam muss den Datenabruf von einem Anbieterportal automatisieren, das reCAPTCHA v2 anzeigt. Anstelle manueller Eingriffe ein Power Automate-Flow:
- Erhält die CAPTCHA-Parameter (Sitekey, Seiten-URL)
- Sendet sie an CaptchaAI
- Wartet auf die Lösung
- Verwendet das Token zur Authentifizierung und zum Abrufen der Daten
Schritt 1: Erstellen Sie den Flow
Erstellen Sie in Power Automate einen Sofort-Cloud-Flow mit einem Manuellen Auslöser (oder einem beliebigen Auslöser Ihrer Wahl).
Fügen Sie dem Trigger Eingabeparameter hinzu
Fügen Sie dem manuellen Auslöser zwei Texteingaben hinzu:
- sitekey – Der reCAPTCHA v2-Sitekey
- pageurl – Die URL der Seite mit dem CAPTCHA
Schritt 2: CAPTCHA-Aufgabe senden
Fügen Sie eine HTTP-Aktion hinzu (Premium-Connector):
| Einstellung | Wert |
|---|---|
| Methode | ERHALTEN |
| URI | https://ocr.captchaai.com/in.php |
Anfragen:
| Schlüssel | Wert |
|---|---|
| Schlüssel | Ihr CaptchaAI-API-Schlüssel |
| Methode | userrecaptcha |
| Googlekey | @{triggerBody()['text']} (Sitekey-Eingabe) |
| Seitenurl | @{triggerBody()['text_1']} (Seiten-URL-Eingabe) |
| json | 1 |
Antwort analysieren: Fügen Sie nach der HTTP-Aktion eine Aktion JSON analysieren hinzu:
Schema:
{
"type": "object",
"properties": {
"status": { "type": "integer" },
"request": { "type": "string" }
}
}
Inhalt: @{body('HTTP')}
Schritt 3: Validieren Sie die Antwort
Fügen Sie eine Bedingung-Aktion hinzu:
- Bedingung:
@{body('Parse_JSON')?['status']}ist gleich1
Wenn Nein (Senden fehlgeschlagen):
- Fügen Sie eine Aktion Beenden mit dem Status „Fehlgeschlagen“ und der Meldung „
Submit error: @{body('Parse_JSON')?['request']}“ hinzu
Wenn ja:
- Weiter zur Wahlschleife
Schritt 4: Erstellen Sie die Polling-Schleife
Fügen Sie innerhalb des „If Yes“-Zweigs eine Do Until-Schleife hinzu:
Schleifenbedingung: @{variables('solveStatus')} ist nicht gleich pending
Initialisieren Sie vor der Schleife zwei Variablen:
- solveStatus (String) =
pending - solvedToken (String) = leer
Fügen Sie innerhalb der Do Until-Schleife diese Aktionen nacheinander hinzu:
4a. Verzögerung
Fügen Sie eine Aktion Verzögerung hinzu: 5 Sekunden.
4b. HTTP – Umfrage zum Ergebnis
| Einstellung | Wert |
|---|---|
| Methode | ERHALTEN |
| URI | https://ocr.captchaai.com/res.php |
Anfragen:
| Schlüssel | Wert |
|---|---|
| Schlüssel | Ihr CaptchaAI-API-Schlüssel |
| Aktion | get |
| ID | @{body('Parse_JSON')?['request']} |
| json | 1 |
4c. JSON analysieren – Umfrageantwort
Verwenden Sie dasselbe Schema wie in Schritt 2.
4d. Bedingung – Status prüfen
Bedingung: @{body('Parse_JSON_2')?['status']} ist gleich 1
Wenn Ja (gelöst):
- Setzen Sie die Variable
solvedToken=@{body('Parse_JSON_2')?['request']} - Setzen Sie die Variable
solveStatus=solved
Wenn Nein:
- Fügen Sie eine weitere Bedingung hinzu:
@{body('Parse_JSON_2')?['request']}ist nicht gleichCAPCHA_NOT_READY - Wenn wahr (Fehler), setzen Sie
solveStatus=error - Wenn „false“ (immer noch ausstehend), nichts tun (Schleife wird fortgesetzt)
Legen Sie das Schleifenlimit Do Until fest:
- Anzahl: 20 (maximale Iterationen)
- Timeout: PT3M (3 Minuten)
Schritt 5: Verwenden Sie das gelöste Token
Fügen Sie nach der Schleife eine Bedingung hinzu, um @{variables('solveStatus')} zu überprüfen:
Wenn gleich „gelöst“:
- Verwenden Sie
@{variables('solvedToken')}in einem HTTP-POST, um das Formular abzusenden - Oder senden Sie es per E-Mail, Teams-Nachricht oder einem anderen Connector
Beispiel für einen HTTP-POST zum Absenden eines Formulars:
| Einstellung | Wert |
|---|---|
| Methode | POST |
| URI | URL des Zielformulars |
| Körper | {"g-recaptcha-response": "@{variables('solvedToken')}", "other_field": "value"} |
Wenn nicht „gelöst“:
- Senden Sie eine Fehlerbenachrichtigung per Teams oder E-Mail
Komplette Flow-Struktur
[Manual Trigger (sitekey, pageurl)]
↓
[Initialize Variables: solveStatus, solvedToken]
↓
[HTTP: Submit to CaptchaAI /in.php]
↓
[Parse JSON]
↓
[Condition: status = 1?]
↓ Yes
[Do Until: solveStatus ≠ pending]
├── [Delay: 5 seconds]
├── [HTTP: Poll CaptchaAI /res.php]
├── [Parse JSON]
└── [Condition: Solved or Error?]
↓
[Condition: solveStatus = solved?]
↓ Yes
[HTTP: Submit form with token]
↓
[Compose: Success response]
Fehlerbehebung
| Problem | Ursache | Lösung |
|---|---|---|
| Token wird erzeugt, aber vom Ziel abgelehnt | sitekey, pageurl oder Session-Kontext stimmen nicht | Erfasse Parameter erneut und verwende den Token in derselben Browser- oder HTTP-Sitzung |
| Polling endet im Timeout | Intervall, Wartezeit oder Fehlerbehandlung sind zu eng gesetzt | Poll alle 5-10 Sekunden, trenne Timeout von echten Fehlercodes und logge die Ursache |
| Beispiel funktioniert lokal, aber nicht im Workflow | Callback, Form-Feld oder Token-Injektion fehlt in der echten Zielkette | Prüfe den exakten Übergabepfad vom Solver bis zur finalen Zielanfrage |
Verwandte Leitfäden
- Make (Integromat) + CaptchaAI
- n8n + CaptchaAI No-Code-Automatisierung
- Zapier + CaptchaAI No-Code-Automatisierung
Diskussionen (0)
Beteiligen Sie sich an der Unterhaltung
Melden Sie sich an, um Ihre Meinung zu teilen.
AnmeldenNoch keine Kommentare.