Логотип «2Captcha»Перейти на главную страницу

Решение капчи в Playwright

Обходите reCAPTCHA, Amazon, Cloudflare Turnstile и любые капчи в Playwright с помощью самого быстрого сервиса решения капчи 2Captcha.

Без риска. Платите только за решённые капчи

Быстрый старт
Решение капчи в Playwright в работе
Обход reCAPTCHA в Playwright

Обход капчи в Playwright: как это работает

2Captcha автоматизирует решение капчи в сценариях работы браузера Playwright, поэтому скрипты могут продолжать выполнение без ручных действий со стороны пользователя.

Схема работы простая: пользователь собирает со страницы, где появляется challenge, нужные параметры капчи и отправляет их в API 2Captcha. В зависимости от типа капчи это могут быть sitekey, URL страницы, изображение, данные challenge или другие обязательные значения.

2Captcha обрабатывает каждую задачу по гибридной модели AI + human. Автоматическое распознавание помогает быстрее обрабатывать стандартные случаи, а если challenge требует дополнительной проверки или более высокой точности, подключаются операторы.

После решения капчи пользователь получает ответ, необходимый для завершения проверки на целевой странице. Это может быть token, координаты кликов, текстовый ответ или другой тип результата. Затем Playwright применяет этот ответ в активной сессии браузера и продолжает автоматизированный сценарий.

Сервис обхода капчи полностью автоматизирован.

API сервиса можно использовать также с Puppeteer и Selenium.

Автоматизация капчи в Playwright

Логотип Playwright

Playwright — это фреймворк для автоматизации браузера, который используют для тестирования веб-приложений, запуска автоматизированных браузерных сценариев и сбора данных с сайтов. В проектах по веб-скрапингу и автоматизации снижение заметных признаков automation помогает браузерным сессиям больше походить на обычную активность пользователя и уменьшает вероятность срабатывания anti-bot систем.

Использование Playwright с сервисом 2Captcha

Чтобы обрабатывать капчу в Playwright, нужен специализированный сервис решения капчи.

В этом гайде показано, как использовать Python SDK для работы с API 2Captcha вместе с Playwright в задачах веб-скрапинга и тестирования. 2Captcha также поддерживает несколько языков программирования, включая Java, C#, C++, PHP, Python и Ruby. Подробности смотрите в инструкции по обходу.

Решение reCAPTCHA V2 в Playwright через клики

Этот репозиторий показывает, как автоматизировать прохождение image-based challenge reCAPTCHA (сетки 3x3 или 4x4) с помощью solver'а reCAPTCHA, библиотеки Playwright и сервиса 2Captcha. Скрипт программно взаимодействует с reCAPTCHA, извлекает challenge, отправляет его в 2Captcha для обработки, а затем имитирует клики пользователя по полученному решению.

Если вы работаете с Python, у нас есть похожий пример на Python и Selenium. Он доступен в репозитории reCAPTCHA Solver Using 2Captcha and Selenium.

Установка и запуск

Чтобы использовать этот скрипт, клонируйте репозиторий, установите зависимости и запустите пример:

# Clone the repository
git clone git@github.com/2captcha/playwright-recaptcha-solver-using-grid.git
cd playwright-recaptcha-solver-using-grid

# Install dependencies
npm install

# Run the script
npm run start

Настройка

Для работы скрипта нужно настроить API key от 2Captcha. Задайте переменную окружения APIKEY:

export APIKEY=your_api_key

Также можно указать значение APIKEY напрямую в коде. Для этого измените API key в файле captchaSolver.js, строка 7. Найдите строку, где задаётся API key, и замените текущее значение на ваш реальный ключ. Это удобно для быстрого тестирования или если переменные окружения недоступны. Но для production-окружения рекомендуется использовать переменные окружения, так как это безопаснее.

Получить API key можно в вашем аккаунте 2Captcha.

Как это работает

Этот скрипт использует метод Grid для решения reCAPTCHA. Процесс выглядит так:

  1. Извлечение challenge: исходное изображение captcha и нужные параметры извлекаются со страницы.
  2. Отправка данных в 2Captcha: данные изображения отправляются в 2Captcha, где captcha решается методом grid.
  3. Клики по решению: после получения ответа со списком номеров ячеек Playwright-скрипт взаимодействует с виджетом reCAPTCHA и кликает по нужным ячейкам. После этого нажимается кнопка "Verify", чтобы завершить challenge.

Пример успешного ответа от скрипта извлечения:

{
  rows: 3,
  columns: 3,
  type: 'GridTask',
  comment: 'Select all images with crosswalks Click verify once there are none left',
  body: 'iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAAAXNSR0...'
}

Пример ответа после решения reCAPTCHA:

{ status: 1, data: 'click:3/6/8', id: '77704464585' }

В ответе click:3/6/8 числа показывают, по каким ячейкам нужно кликнуть. Ответ click:3/6/8 означает, что нужно нажать на квадраты captcha с номерами 3, 6 и 8. Нумерация начинается с верхнего левого угла. На скриншоте ниже можно наглядно увидеть, какие квадраты соответствуют ответу click:3/6/8.

Обычно для успешного прохождения captcha нужно решить примерно 1–5 challenge, но в более сложных случаях задач может быть больше.

Преимущества этого подхода

  • Проверка без токена: не нужно вручную управлять токеном или внедрять его в веб-страницу. Вместо этого мы имитируем поведение пользователя и кликаем по нужным областям.
  • Упрощённая логика: используется встроенный механизм проверки reCAPTCHA, поэтому логика работы с токеном становится проще.

Главное преимущество этого подхода в том, что вам не нужно разбираться, как применить токен на странице. Здесь достаточно кликнуть по нужным квадратам, нажать кнопку подтверждения, и дальше встроенная логика проверки ответа reCAPTCHA отрабатывает сама.

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

Недостатки этого подхода

  • Повышенная сложность: требуется больше кода и больше времени на обработку всех взаимодействий.
  • Плавающие стоимость и скорость: стоимость и время решения captcha могут отличаться в зависимости от сложности конкретного image challenge.
  • Зависимость от browser automation: для корректной работы кода reCAPTCHA требуется browser automation. Автоматизация обеспечивает нужную логику применения токена reCAPTCHA и помогает корректно отработать весь процесс.

Возможные ошибки

  • "ERROR_CAPTCHA_UNSOLVABLE": иногда captcha может оказаться слишком сложной для 2Captcha, и сервис вернёт ошибку. На этот случай стоит предусмотреть обработку ошибки: повторную попытку или escalation.
  • Блокировка со стороны reCAPTCHA: если с одного IP выполняется слишком много попыток, reCAPTCHA может временно блокировать запросы. В таком случае может помочь смена IP или ожидание в течение нескольких минут. При временном бане со стороны reCAPTCHA вы получите следующее сообщение: Try again later. Your computer or network may be sending automated queries. To protect our users, we can't process your request right now...

Чтобы сменить IP-адрес, можно использовать residential proxy.

Запланированные возможности

  • Автоматическая обработка обновления изображения при смене captcha.
  • Использование CSS-селекторов вместо абсолютных координат для более надёжных кликов.
  • Улучшенная обработка ошибок, особенно для "ERROR_CAPTCHA_UNSOLVABLE".

Полезные ссылки

Связанные проекты

Логотип reCAPTCHA

Обход Google reCAPTCHA в Playwright

Капча — серьёзное препятствие для веб-скрапинга, которое не даёт ботам пройти дальше. 2Captcha — оптимальный сервис решения reCAPTCHA для Playwright. Сервис позволяет обходить любые типы Google reCAPTCHA, включая reCAPTCHA 3 и reCAPTCHA 2.

Подробности смотрите в инструкции по обходу.

Гайд по обходу Google reCAPTCHA в Playwright

Лучший сервис обхода капчи для Playwright

Playwright — мощный фреймворк с high-level API для управления Chromium, Firefox и WebKit. Его часто используют тестировщики и разработчики для продвинутого веб-скрапинга. Вы можете использовать solver extension 2Captcha вместе с Playwright, чтобы эффективно решать капчу.

Согласно отраслевой аналитике, 2Captcha предоставляет наиболее надёжное решение для автоматизированного обхода капчи.

captchathecat
Использование solver extension 2Captcha с Playwright для обхода капчи

Нужно кастомное решение? Попробуйте API для решения капчи

Обход капчи с помощью нашего SDK

Если browser automation с Playwright выглядит слишком сложной или ресурсоёмкой для вашего кейса, есть альтернативный вариант: можно собрать request-based решение и использовать наши SDK-библиотеки для разных языков программирования: Java, C#, C++, PHP, Python и Ruby. Документация доступна на нашей официальной странице GitHub.