Comparisons

Расширение браузера или API: какой подход к решению CAPTCHA подходящий?

Коротко: для разового захода в браузере расширение решает CAPTCHA быстрее и без единой строки кода. Для парсинга, CI/CD и любой продакшен-автоматизации выигрывает API — расширение упирается в правило «один браузер = одно решение за раз», а API масштабируется до тысяч параллельных решений и работает без браузера вообще.

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


Вывод в двух строках

  • Расширение — для разовых задач в браузере, прототипирования и пользователей без навыков программирования.
  • API — для парсинга в масштабе, серверной автоматизации, CI/CD и всего, что должно работать без графического окружения.

Сценарий: расширение или API

Расширение подходит, если…

Сценарий Почему расширение работает
Ручной просмотр с редкими CAPTCHA Удобство — код не нужен
Быстрый прототип Проверить идею перед тем, как писать интеграцию с API
Задачи в одном браузере Заполнение форм, разовое создание аккаунта (малый объём)
Нетехнический пользователь Программирование не требуется

API нужен, если…

Сценарий Почему API — правильный выбор
Парсинг в промышленном масштабе Параллельное решение без накладных расходов на браузер
Серверная автоматизация Браузера на сервере попросту нет
CI/CD-тестирование Headless-среды без графического окружения
Микросервисы HTTP-вызов из любого сервиса на любом языке
Несколько типов CAPTCHA сразу Программное определение типа и маршрутизация
Своя логика повторов и ошибок Полный контроль над восстановлением после сбоя
Контроль затрат Учёт использования, кэширование, отказ от лишних решений

Для агентства или фрилансера, которые парсят данные для нескольких клиентов и выставляют счета в долларах, предсказуемая потоковая тарификация удобнее, чем скачущий счёт «по решению»: тариф ADVANCE ($90/мес, 50 потоков) обычно закрывает средний объём, а при пиках достаточно перейти на PREMIUM ($170/мес, 100 потоков) — без пересчёта архитектуры.

Если парсинг затрагивает персональные данные, отдельно проверьте, что вы вправе их обрабатывать — для аудитории из РФ это 152-ФЗ, для трансграничных проектов уместна GDPR-дисциплина. Это забота читателя, а не функция CaptchaAI.


Что происходит под капотом

Расширение браузера

Расширение следит за загрузкой страницы и ищет известные виджеты CAPTCHA (reCAPTCHA, Turnstile, image CAPTCHA). При обнаружении оно само извлекает параметры, отправляет их в решающий API и вставляет полученный токен обратно на страницу.

Расширение браузера
Сильные стороны Ноль кода при установке; автообнаружение и автовставка токена; решает CAPTCHA так же, как человек; справляется со сложными JS-сайтами
Слабые стороны Нужен видимый или headless-браузер; один экземпляр — одно решение одновременно; плохо масштабируется; антибот-системы могут обнаружить само расширение; не работает на сервере без браузера; ограниченный retry; апдейт расширения может сломать сценарий

API-решение

Вы отправляете HTTP-запросы к решающему API: передаёте параметры CAPTCHA (sitekey, URL страницы, изображение), опрашиваете результат, затем используете токен в своём приложении — браузер для этого не нужен.

API-решение
Сильные стороны Полный программный контроль; любой язык (Python, Node.js, PHP, Go и др.); масштаб до тысяч параллельных решений; работает в контейнерах и serverless-функциях; своя логика retry и мониторинг; работает с браузером и без него; нет риска, что обнаружат само расширение
Слабые стороны Нужно написать код интеграции; вставку токена в форму реализуете сами; sitekey и параметры извлекаете вручную

Масштабируемость: расширение против API

Метрика Расширение API
1 CAPTCHA Та же скорость Та же скорость
10 CAPTCHA одновременно Нужно 10 экземпляров браузера 10 параллельных HTTP-запросов
100 CAPTCHA одновременно Практически нереально Обычная нагрузка
1000+ CAPTCHA одновременно Невозможно Очередь + воркеры
ОЗУ на экземпляр 200–500 МБ (Chrome) ~10 МБ (HTTP-клиент)
CPU на экземпляр Высокая нагрузка (рендеринг браузера) Низкая (только HTTP)

Надёжность и обработка ошибок

Фактор Расширение API
Обнаружение CAPTCHA Автоматическое (может пропустить нестандартную CAPTCHA) Ручное (логику определяете сами)
Обработка ошибок На уровне расширения (ограниченно) В вашем коде (полный контроль)
Обновления Обновление расширения может что-то сломать API версионируется с обратной совместимостью
Падение браузера Сессия теряется Браузера, который может упасть, просто нет
Антибот-детект Конфигурация расширения различается между окружениями Сигнала расширения-браузера нет вовсе
Стоимость Тот же потоковый тариф CaptchaAI, что и у API Тот же потоковый тариф CaptchaAI, что и у расширения

Обратите внимание: CaptchaAI тарифицирует по количеству одновременных потоков, а не по числу решённых CAPTCHA — решения в рамках оплаченного потока безлимитны весь месяц. Поэтому цена не зависит от того, откуда пришёл запрос — из расширения или напрямую через API.


Гибридный сценарий: браузер для навигации, API для решения

Для сложных сайтов комбинируйте оба варианта: браузер отвечает за навигацию, API — за решение CAPTCHA.

from selenium import webdriver
import requests
import time

driver = webdriver.Chrome()
driver.get("https://staging.example.com/qa-login")

# Detect CAPTCHA
sitekey = driver.find_element("css selector", "[data-sitekey]").get_attribute("data-sitekey")

# Solve via API (not extension)
submit = requests.post("https://ocr.captchaai.com/in.php", data={
    "key": "YOUR_API_KEY",
    "method": "userrecaptcha",
    "googlekey": sitekey,
    "pageurl": driver.current_url,
    "json": 1
}).json()

task_id = submit["request"]
time.sleep(15)

for _ in range(24):
    result = requests.get("https://ocr.captchaai.com/res.php", params={
        "key": "YOUR_API_KEY", "action": "get", "id": task_id, "json": 1
    }).json()
    if result.get("status") == 1:
        token = result["request"]
        # Inject token via JavaScript
        driver.execute_script(
            f'document.getElementById("g-recaptcha-response").value = "{token}";'
        )
        driver.find_element("css selector", "form").submit()
        break
    time.sleep(5)

Так вы получаете рендеринг уровня браузера для сайтов с тяжёлым JavaScript и программный контроль уровня API для самого решения CAPTCHA.


Часто задаваемые вопросы

Сколько потоков нужно для парсинга 1000+ страниц в час?

Зависит от доли страниц с CAPTCHA и типа CAPTCHA (обычно 5–30 с на решение). При CAPTCHA примерно на каждой десятой странице тарифа ADVANCE ($90/мес, 50 потоков) чаще всего достаточно; на пиковой нагрузке переходите на PREMIUM ($170/мес, 100 потоков) — тариф меняется без переписывания интеграции.

Отличается ли стоимость решения между расширением и API?

Нет. Оба варианта работают на одной и той же инфраструктуре CaptchaAI и тарифицируются по потокам, а не по числу решений — любая CAPTCHA, решённая в рамках оплаченного потока, ничего не стоит сверх подписки, независимо от того, пришёл запрос из расширения или из вашего кода.

Работает ли расширение CaptchaAI в headless Chrome для CI/CD?

Технически да, но с оговорками. Headless Chrome умеет загружать расширения, однако некоторые CAPTCHA-виджеты сами определяют headless-режим и ведут себя иначе. Для CI/CD-пайплайнов API-подход надёжнее — он не зависит от того, как страница определяет тип браузера.

Как перейти с расширения на API без остановки текущей автоматизации?

Начните с гибридной схемы: оставьте браузер (Selenium/Puppeteer) для навигации, а решение CAPTCHA переключите на прямые вызовы in.php/res.php, как в примере выше. Когда убедитесь, что API стабильно решает нужные типы CAPTCHA, расширение можно убрать вовсе.

Что выбрать для QA-тестирования в staging — расширение или API?

Для быстрой ручной проверки staging-окружения расширение экономит время — установил и работаешь. Но как только тесты запускаются в CI без графического интерфейса, единственный рабочий вариант — API: headless-раннер не сможет надёжно опираться на расширение браузера.


Подключите API CaptchaAI

Постройте масштабируемое решение CAPTCHA на captchaai.com.


Связанные руководства

Комментарии для этой статьи отключены.