Ornold
Назад до блогу
Гайд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 iframe та 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, використовуйте потік автоматичного виявлення замість жорсткого вказання типу.

Схожі матеріали