Назад в блог
Гайд8 мин чтения
Автоматическое решение CAPTCHA в антидетект-браузерах: практический гайд
Пошаговый разбор того, как Ornold находит sitekey, определяет тип челленджа и внедряет токены сразу в множество браузерных профилей.
5 апр. 2026 г.Почему CAPTCHA отличается в антидетект-автоматизации
В обычном браузере вы решаете CAPTCHA один раз и идёте дальше. В антидетект-автоматизации CAPTCHA появляется одновременно на десятках профилей браузера — каждый со своей сессией, cookies и отпечатком. Решение их по одному лишает смысла параллельную автоматизацию.
Ornold обрабатывает решение CAPTCHA как пакетную операцию: обнаруживает тип задачи на всех активных сессиях, извлекает sitekey, отправляет их решателю и внедряет токены ответа — всё в одном скоординированном проходе.
Поддерживаемые типы CAPTCHA
Ornold обнаруживает и решает наиболее распространённые типы задач, встречающиеся на современных сайтах:
- reCAPTCHA v2 — классическая галочка «Я не робот» и задачи с сеткой изображений
- reCAPTCHA v3 — невидимая проверка на основе оценки, работающая в фоне
- hCaptcha — задачи классификации изображений («выберите все изображения с мотоциклами»)
- Cloudflare Turnstile — неинтерактивная задача, заменившая reCAPTCHA на многих сайтах
- Пользовательские задачи — кнопки с удержанием, ползунки и другие интерактивные проверки
Решатель автоматически выбирает правильный подход на основе того, что обнаруживает на странице. Вам не нужно указывать тип CAPTCHA — просто вызовите `browser_solve_captcha()` и Ornold разберётся сам.
Как работает конвейер решения
Процесс решения CAPTCHA состоит из четырёх этапов. Каждый выполняется на всех активных сессиях браузера параллельно.
Этап 1 — Обнаружение
Ornold сканирует каждую активную сессию браузера на предмет известных паттернов CAPTCHA. Проверяет:
- reCAPTCHA iframes и script-теги (`google.com/recaptcha`)
- hCaptcha контейнеры и API-скрипты (`hcaptcha.com`)
- Turnstile виджеты (`challenges.cloudflare.com`)
- Пользовательские элементы задач (кнопки с удержанием, ползунки)
Обнаружение работает через DOM-инспекцию и, при необходимости, визуальный анализ. Если CAPTCHA скрыта за оверлеем или загружена динамически, визуальный резервный вариант её поймает.
// Обнаружение происходит автоматически при вызове solve
const result = await browser_solve_captcha();
// result показывает, какие сессии имели CAPTCHA и их типы
// { total: 20, detected: 18, solved: 18, failed: 0 }
Этап 2 — Извлечение Sitekey
Каждый виджет CAPTCHA привязан к sitekey — публичному идентификатору, который сообщает провайдеру CAPTCHA, какой сайт запрашивает проверку. Ornold автоматически извлекает этот ключ из DOM страницы.
Для reCAPTCHA sitekey находится в атрибуте `data-sitekey` div-элемента виджета или в параметрах URL скрипта. Для hCaptcha он находится в похожем атрибуте. Для Turnstile он встроен в конфигурацию скрипта Cloudflare.
Sitekey вместе с URL страницы отправляется в сервис решения. Это то, что делает решение действительным — токен генерируется для этой конкретной комбинации сайта и ключа.
Этап 3 — Генерация токена
Ornold отправляет sitekey и URL страницы в сервис решения CAPTCHA (2captcha). Сервис возвращает токен ответа — строку, которая доказывает, что задача была выполнена.
Время решения варьируется в зависимости от типа CAPTCHA:
- reCAPTCHA v2 — 15-45 секунд (требуется распознавание изображений)
- reCAPTCHA v3 — 5-15 секунд (на основе оценки, без изображений)
- hCaptcha — 15-60 секунд (зависит от уровня сложности)
- Turnstile — 5-20 секунд (обычно быстрее, чем задачи на основе изображений)
Токены генерируются параллельно для всех сессий. Если 20 браузерам нужно решение, все 20 запросов отправляются одновременно. Общее время ожидания примерно такое же, как решение одного.
Этап 4 — Внедрение токена
Когда токен приходит, Ornold внедряет его на страницу. Метод внедрения зависит от типа CAPTCHA:
- reCAPTCHA v2/v3 — устанавливает значение textarea `g-recaptcha-response` и вызывает функцию обратного вызова
- hCaptcha — устанавливает поле `h-captcha-response` и запускает callback проверки
- Turnstile — внедряет токен в поле ответа Turnstile и отправляет событие успеха
После внедрения Ornold опционально нажимает кнопку отправки или ждёт автоматического перехода страницы. Виджет CAPTCHA исчезает, и форма продолжает работу, как если бы человек её решил.
// Полный поток solve + verification
await browser_parallel_navigate({ url: "https://target.example/signup" });
await browser_parallel_fill({ ref: "email", values: emails });
// Решаем CAPTCHA на всех сессиях
const result = await browser_solve_captcha();
console.log(`Решено: ${result.solved}/${result.total}`);
// Отправляем форму
await browser_parallel_click({ ref: "submit" });
// Проверяем успех
await browser_parallel_wait_for({ text: "Account created", timeoutMs: 15000 });
Обработка задач с удержанием кнопки
Некоторые сайты используют пользовательские задачи, требующие удержания кнопки в течение нескольких секунд. Их нельзя решить внедрением токена — нужно реальное взаимодействие с мышью.
Ornold визуально обнаруживает задачи с удержанием и имитирует взаимодействие: нажимает кнопку, удерживает требуемую длительность, затем отпускает. Это работает на всех активных сессиях параллельно.
// Обнаружение и решение задачи с удержанием
const captchaCheck = await browser_detect_press_hold();
if (captchaCheck.detected) {
await browser_solve_press_hold();
// Ждёт длительность удержания, затем отпускает
}
Пакетное решение CAPTCHA на практике
Вот как выглядит реальный запуск решения CAPTCHA на 30 сессиях Linken Sphere во время потока регистрации аккаунта:
- Переходим все 30 сессий на страницу регистрации
- Заполняем поля формы данными для каждого профиля (уникальные email, имена и т.д.)
- Вызываем `browser_solve_captcha()` — Ornold обнаруживает reCAPTCHA v2 на 28 сессиях, Turnstile на 2 сессиях
- Все 30 запросов на решение отправляются параллельно
- Токены приходят за 15-40 секунд
- Ornold внедряет токены и нажимает submit на каждой сессии
- 29 из 30 успешны. 1 сессия получает вторичную задачу — Ornold автоматически повторяет попытку
Проверка после решения
Решение CAPTCHA — это только половина работы. Нужно проверить, что решение было принято и страница продвинулась вперёд. Ornold предоставляет инструменты для этого:
// Проверяем, что все сессии прошли мимо CAPTCHA
const status = await browser_status();
// Проверяем, какие сессии находятся на ожидаемой странице
await browser_parallel_wait_for({ text: "Welcome", timeoutMs: 10000 });
// Если некоторые сессии застряли, делаем скриншот для диагностики
await browser_parallel_screenshot();
Если сессия не прошла проверку, вы можете повторить решение только для этой сессии или отметить её для ручного просмотра. Ключ — поймать ошибки рано, а не обнаружить их в конце длинного рабочего процесса.
Кредиты CAPTCHA и биллинг
Каждое решение CAPTCHA потребляет один кредит из вашего аккаунта Ornold. Кредиты вычитаются, когда сервис решения возвращает токен — не когда вы вызываете функцию solve.
- Бесплатные аккаунты получают 5 кредитов CAPTCHA после завершения тура onboarding
- Платные планы включают ежемесячный лимит кредитов в зависимости от вашего уровня
- Дополнительные кредиты можно приобрести отдельно
- Неудачные решения (когда сервис не смог сгенерировать токен) не потребляют кредиты
Проверьте баланс кредитов на панели управления Ornold перед запуском больших пакетов. Если кредиты закончатся в середине пакета, некоторые сессии будут иметь нерешённые CAPTCHA.
Устранение распространённых проблем
- «CAPTCHA не обнаружена» — Страница может загружать задачу динамически. Добавьте ожидание перед решением: `await browser_parallel_wait_for({ selector: "iframe[src*=recaptcha]", timeoutMs: 10000 })`
- «Токен отклонён» — Токен может истечь (действителен ~2 минуты). Убедитесь, что форма готова перед решением, чтобы вы могли отправить сразу после.
- «Timeout решения» — Сервис решения перегружен или тип CAPTCHA необычно сложный. Повторите попытку. Если проблема сохраняется, проверьте статус сервиса на панели управления Ornold.
- «Частичный отказ пакета» — Некоторые сессии решены, другие нет. Используйте `browser_status()` для определения застрявших сессий и повторите только их.
- «Удержание кнопки не работает» — Убедитесь, что элемент задачи видим и не закрыт другим оверлеем. Попробуйте сначала прокрутить к нему.
Лучшие практики
- Заполните форму перед решением CAPTCHA. Токены истекают за ~2 минуты, поэтому минимизируйте время между решением и отправкой.
- Используйте `browser_status()` после решения для проверки того, что все сессии продвинулись. Не предполагайте успех.
- Для больших пакетов (50+ сессий) решайте группами по 20-30, чтобы не перегружать сервис решения.
- Мониторьте баланс кредитов. Установите оповещения на панели управления, если доступно.
- Если сайт часто меняет провайдера CAPTCHA, используйте поток автоматического обнаружения вместо жёсткого указания типа.