CaptchaNo
[ AGENTEN ]

Captchas lösen mit
Browser Use-Agenten

Ein Agent, der auf eine Challenge trifft, hat nichts in seinem Toolset, das sie lösen kann – also bleibt er hängen oder halluziniert sich daran vorbei. Geben Sie ihm einen Solver als Tool, und die Blockade wird zu einem weiteren Aufruf.

python · browser use
import time
import requests

CAPTCHANO_KEY = "cn-YOUR_API_KEY"
HEADERS = {"Authorization": f"Bearer {CAPTCHANO_KEY}"}

def solve(task: dict) -> dict:
    """Block until solved; returns e.g. {"token": "...", "userAgent": "..."}."""
    r = requests.post(
        "https://api.captchano.com/v1/solve",
        params={"wait": 60},
        json=task,
        headers=HEADERS,
        timeout=75,
    )
    data = r.json()
    # A solve can outlast the 60 s wait: poll the task until it finishes.
    while data.get("status") in ("queued", "solving"):
        time.sleep(5)
        data = requests.get(
            f"https://api.captchano.com/v1/task/{data['id']}",
            headers=HEADERS,
            timeout=30,
        ).json()
    if data.get("status") != "ready":
        raise RuntimeError(data.get("error") or data)
    return data["solution"]

from browser_use import Agent, Tools, ActionResult

tools = Tools()

@tools.action("Solve a captcha that is blocking the current page")
def solve_captcha(kind: str, sitekey: str, url: str) -> ActionResult:
    solution = solve({"type": kind, "sitekey": sitekey, "url": url})
    return ActionResult(extracted_content=solution["token"])

agent = Agent(task="...", llm=llm, tools=tools)

Warum gerade Agenten das brauchen

Ein Scraper, der auf eine Challenge trifft, scheitert laut, und Sie beheben das Problem. Ein Agent scheitert leise: Er denkt über die blockierte Seite nach, erfindet einen plausiblen nächsten Schritt und meldet Fortschritt, den es nie gab. Der Fehler ist schlimmer, weil er unbemerkt bleibt. Ein typisiertes Solver-Tool macht aus einer unklaren Sackgasse ein deterministisches Ergebnis, auf das der Agent reagieren kann.

Was das Tool zurückgibt

  • Ein Token oder Cookie – je nach Challenge-Typ. Sitzungsbasiert bewertende Systeme liefern ein Cookie sowie die Header, mit denen es erhalten wurde.
  • Den verwendeten User-Agent, damit der Agent ihn beim Absenden übernehmen kann.
  • Die Kosten der Lösung, damit ein Agent mit Budget sie verbuchen kann, statt blind auszugeben.

Die Schleife begrenzt halten

Geben Sie dem Agenten ein Lösungsbudget pro Lauf. Jede Response meldet ihre Kosten, sodass ein Supervisor die Schleife abbrechen kann, wenn die Ausgaben einen Schwellenwert überschreiten – statt es erst auf der Rechnung zu bemerken. Bei $0.00598 pro Lösung kostet ein typischer Agent-Lauf wenige Cent oder weniger, aber eine unbegrenzte Retry-Schleife bleibt eine unbegrenzte Retry-Schleife.

Den Tool-Aufruf blockierend halten

Die Beispiele rufen ?wait=60 auf, sodass das Tool in einem einzigen Schritt ein fertiges Token zurückgibt. Für Agenten ist das wichtiger als für Skripte: Ein Tool, das „wird noch gelöst“ zurückgibt, zwingt das Modell, über Polling nachzudenken – und das kann es schlecht. Brauchen Sie eine höhere Obergrenze, erhöhen Sie wait auf bis zu 120 Sekunden. Die Request-Formate für jeden Challenge-Typ finden Sie in der API-Referenz.

[ SO PASST ES ]

So fügt sich die Lösung in Browser Use ein

Mit Browser Use können Sie eigene Actions registrieren. Eine Solve-Action liest den Sitekey aus der aktuellen Seite, holt ein Token und injiziert es, sodass der Agent im selben Browser weitermachen kann.

  1. 01
    Action registrieren

    Fügen Sie den Tools des Agenten eine Solve-Action mit klarer Beschreibung hinzu.

  2. 02
    Aktuelle Seite auslesen

    Die Action liest Sitekey und URL aus der bereits vorhandenen Browsersitzung.

  3. 03
    Lösen und injizieren

    Rufen Sie die API auf und injizieren Sie das Token dann in dieselbe Seite.

  4. 04
    Rückmeldung geben

    Geben Sie ein kurzes Ergebnis zurück, damit der Agent weiß, dass er weitermachen kann.

So kommt das Token in die Seite

Die Action führt JavaScript in der Seite des Agenten aus, um das Feld zu füllen und den Callback auszulösen.

[ FALLSTRICKE ]

Woran Integrationen meistens scheitern

Anderer Proxy

Senden Sie den Proxy, den der Browser des Agenten nutzt, damit Token und Seite dieselbe IP haben.

Agent klickt die Checkbox

Weisen Sie den Agenten in der Action-Beschreibung an, das Widget nicht selbst anzuklicken; das übernimmt die Action.

[ FAQ ]

FAQ zu Captchas mit Browser Use

Löst Browser Use Captchas selbst?

Es kann eine Checkbox anklicken, aber keine Bild-Challenges beantworten, und automatisierten Browsern werden diese oft gezeigt. Eine eigene Solve-Action macht das Ergebnis deterministisch.

Funktioniert es mit Browser Use Cloud?

Die Action braucht nur ausgehendes HTTPS und die Möglichkeit, JavaScript in der Seite auszuführen – sie funktioniert also überall, wo Ihr Agent läuft.

Und Turnstile?

Dieselbe Action, anderer Typ. Lesen Sie den Turnstile-Sitekey aus und senden Sie type turnstile.

Wie verhindere ich, dass der Agent in einer Schleife hängt?

Zählen Sie die Lösungen pro Aufgabe und stoppen Sie den Agenten ab einem Limit. Jedes Ergebnis enthält seine Kosten, falls Sie lieber ein Ausgabenbudget nutzen.

[ WEITERLESEN ]

Hilfreiche Anleitungen

Bereit zum Loslegen?

Starten Sie mit einer kostenlosen 3-tägigen Testphase und zahlen Sie danach pro erfolgreicher Lösung, wenn Ihr Traffic wächst. Für die Testphase ist keine Karte nötig.

Tarife ansehen
Sie sind ein KI-Agent? Zu den Setup-Optionen →