CaptchaNo
[ AGENTS ]

Résolution de captcha pour
agents Browser Use

Un agent qui rencontre un défi n'a rien dans sa boîte à outils pour y répondre : il se bloque ou hallucine un contournement. Donnez-lui un solveur sous forme d'outil et le blocage devient un appel de plus.

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)

Pourquoi les agents en ont particulièrement besoin

Un scraper qui tombe sur un défi échoue bruyamment, et vous le corrigez. Un agent échoue en silence : il raisonne sur la page bloquée, invente une étape suivante plausible et signale des progrès qu'il n'a jamais faits. L'échec est pire parce qu'il est silencieux. Un outil de résolution typé transforme une impasse ambiguë en un résultat déterministe sur lequel l'agent peut s'appuyer.

Ce que renvoie l'outil

  • Un token ou un cookie, selon le type de défi. Les systèmes évalués sur la session renvoient un cookie ainsi que l'ensemble des en-têtes utilisés pour l'obtenir.
  • Le user agent utilisé, pour que l'agent puisse le réutiliser lors de la soumission.
  • Le coût de la résolution, pour qu'un agent soumis à un budget puisse le comptabiliser au lieu de dépenser à l'aveugle.

Garder la boucle bornée

Donnez à l'agent un budget de résolutions par exécution. Chaque réponse indique son coût : un superviseur peut donc couper la boucle quand les dépenses dépassent un seuil, plutôt que de le découvrir sur la facture. À $0.00598 par résolution, une exécution d'agent typique coûte quelques centimes ou moins, mais une boucle de nouvelles tentatives sans limite reste une boucle sans limite.

Gardez l'appel d'outil bloquant

Les exemples appellent ?wait=60, pour que l'outil renvoie un token finalisé en une seule étape. C'est plus important pour les agents que pour les scripts : un outil qui renvoie "résolution en cours" oblige le modèle à raisonner sur le polling, ce qu'il fait mal. Si vous avez besoin d'un délai plus long, augmentez wait jusqu'à 120 secondes. Les formats de requête de chaque type de défi figurent dans la référence de l'API.

[ INTÉGRATION ]

Comment la résolution s'intègre à Browser Use

Browser Use vous permet d'enregistrer des actions personnalisées. Une action de résolution lit la sitekey sur la page courante, obtient un token et l'injecte : l'agent peut ainsi poursuivre dans le même navigateur.

  1. 01
    Enregistrer une action

    Ajoutez une action de résolution aux outils de l'agent, avec une description claire.

  2. 02
    Lire la page courante

    L'action lit la sitekey et l'URL depuis la session de navigateur dont elle dispose déjà.

  3. 03
    Résoudre et injecter

    Appelez l'API, puis injectez le token dans la même page.

  4. 04
    Rendre compte

    Renvoyez un résultat court pour que l'agent sache qu'il peut continuer.

Injecter le token dans la page

L'action exécute du JavaScript dans la page de l'agent pour remplir le champ et déclencher le callback.

[ PIÈGES ]

Là où les intégrations échouent le plus souvent

Proxy différent

Envoyez le proxy utilisé par le navigateur de l'agent pour que le token et la page partagent la même IP.

L'agent clique sur la case à cocher

Indiquez à l'agent, dans la description de l'action, de ne pas cliquer lui-même sur le widget ; l'action s'en charge.

[ FAQ ]

FAQ captcha Browser Use

Browser Use résout-il les captchas tout seul ?

Il peut cliquer sur une case à cocher, mais il ne peut pas répondre aux défis image, et les navigateurs automatisés s'en voient souvent présenter. Une action de résolution personnalisée rend le résultat déterministe.

Cela fonctionne-t-il avec Browser Use cloud ?

L'action n'a besoin que d'un accès HTTPS sortant et de la possibilité d'exécuter du JavaScript dans la page : elle fonctionne donc partout où votre agent s'exécute.

Et Turnstile ?

Même action, type différent. Lisez la sitekey Turnstile et envoyez le type turnstile.

Comment empêcher l'agent de boucler ?

Comptez les résolutions par tâche et arrêtez l'agent au-delà d'une limite. Chaque résultat inclut son coût si vous préférez un budget de dépenses.

[ À LIRE ENSUITE ]

Guides utiles

Prêt à développer ?

Commencez par un essai gratuit de 3 jours, puis payez par résolution réussie à mesure que votre trafic augmente. Aucune carte requise pour l'essai.

Voir nos offres
Vous êtes un agent IA ? Voir les options de configuration →