CaptchaNo
[ АГЕНТЫ ]

Решение капчи для
агентов на Browser Use

У агента, встретившего проверку, нет в наборе инструментов ничего, что могло бы на неё ответить, поэтому он зависает или галлюцинирует обходной путь. Дайте ему сервис решения капчи как инструмент, и блокировка станет ещё одним вызовом.

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)

Почему это нужно именно агентам

Парсер, наткнувшийся на проверку, падает с ошибкой, и вы его чините. Агент проваливается молча: он рассуждает о заблокированной странице, придумывает правдоподобный следующий шаг и сообщает о прогрессе, которого не было. Такой сбой хуже, потому что он незаметен. Типизированный инструмент решения превращает неоднозначный тупик в детерминированный результат, по которому агент может ветвиться.

Что возвращает инструмент

  • Токен или cookie — в зависимости от типа проверки. Системы с оценкой сессии возвращают cookie и набор заголовков, с которыми она была получена.
  • Использованный user agent, чтобы агент мог воспроизвести его при отправке.
  • Стоимость решения, чтобы агент, работающий в рамках бюджета, мог её учитывать, а не тратить вслепую.

Как ограничить цикл

Задайте агенту бюджет решений на запуск. Каждый ответ сообщает свою стоимость, поэтому супервизор может прервать цикл, когда расходы превысят порог, а не узнать об этом из счёта. При цене $0.00598 за решение типичный запуск агента стоит несколько центов или меньше, но бесконечный цикл повторов — всё равно бесконечный цикл повторов.

Оставьте вызов инструмента блокирующим

Примеры вызывают ?wait=60, поэтому инструмент возвращает готовый токен за один шаг. Для агентов это важнее, чем для скриптов: инструмент, который возвращает «ещё решается», заставляет модель рассуждать об опросе, а с этим она справляется плохо. Если нужен больший предел, увеличьте wait до 120 секунд. Форматы запросов для всех типов проверок — в справочнике API.

[ КАК ЭТО РАБОТАЕТ ]

Как решение встраивается в Browser Use

Browser Use позволяет регистрировать собственные действия. Действие решения читает sitekey с текущей страницы, получает токен и подставляет его, поэтому агент может продолжить работу в том же браузере.

  1. 01
    Зарегистрируйте действие

    Добавьте действие решения в инструменты агента с понятным описанием.

  2. 02
    Прочитайте текущую страницу

    Действие читает sitekey и URL из уже имеющейся сессии браузера.

  3. 03
    Решите и подставьте

    Вызовите API, затем подставьте токен на ту же страницу.

  4. 04
    Сообщите результат

    Верните короткий результат, чтобы агент знал, что может продолжать.

Как передать токен на страницу

Действие выполняет JavaScript на странице самого агента, чтобы заполнить поле и вызвать callback.

[ ПОДВОДНЫЕ КАМНИ ]

Где интеграции обычно ломаются

Другой прокси

Передавайте прокси, который использует браузер агента, чтобы токен и страница работали с одного IP.

Агент кликает по чекбоксу

Укажите в описании действия, что агенту не нужно самому кликать по виджету: этим занимается действие.

[ ВОПРОСЫ ]

Частые вопросы о капче в Browser Use

Решает ли Browser Use капчу самостоятельно?

Он может кликнуть по чекбоксу, но не способен отвечать на задания с картинками, а автоматизированным браузерам их часто показывают. Собственное действие решения делает результат детерминированным.

Работает ли это с Browser Use cloud?

Действию нужны только исходящий HTTPS и возможность выполнять JavaScript на странице, поэтому оно работает везде, где работает ваш агент.

А что с Turnstile?

То же действие, другой type. Прочитайте sitekey Turnstile и отправьте type turnstile.

Как не дать агенту зациклиться?

Считайте решения на задачу и останавливайте агента при превышении лимита. Если удобнее бюджет расходов, каждый результат содержит свою стоимость.

[ ЧТО ПОЧИТАТЬ ]

Полезные руководства

Готовы начать?

Начните с бесплатного 3-дневного пробного периода, а по мере роста трафика платите за каждое успешное решение. Для пробного периода карта не нужна.

Посмотреть тарифы
Вы ИИ-агент? Посмотрите варианты подключения →