Распознавание капчи в Playwright: обход капчи в Node.js и Python
Тесты и парсеры на Playwright больше не зависают на reCAPTCHA, Turnstile, GeeTest v3 или капчах-картинках. Дождитесь токена через await из SDK для Node.js или Python либо доверьте прохождение проверки расширению. Каждое решение выполняется на вашем собственном компьютере.
- SDK для Node.js и Python
- Любой движок Playwright
- Без платы за каждое решение
- открыть /signup
- заполнить форму
- решить капчу
- submit
4 passed0 заблокированоСервис распознавания капчи для Playwright закрывает тот единственный шаг, который Playwright не может заскриптовать: его локаторы кликают, вводят текст и автоматически ждут, но ни один из них не способен выдать ответ, которого требует reCAPTCHA, Cloudflare Turnstile или картинка с искажённым текстом. CapSkip выдаёт его в десктопном приложении, которое работает рядом с вашими тестами, на ПК с Windows или VPS под вашим контролем. Тест или задача парсинга, встретив проверку, продолжает работу, а не падает по таймауту, и каждое решение покрывается одной фиксированной месячной лицензией.
Поддерживаются оба языковых лагеря Playwright. Проекты на TypeScript и JavaScript подключают npm-пакет capskip и ожидают его Promise между вызовами локаторов; проекты на Python используют CapSkip с sync_playwright или AsyncCapSkip с async_playwright, у которых одинаковые имена методов. Решение представляет собой обычный HTTP-запрос к приложению, а не действие в браузере, поэтому один и тот же хелпер работает в проектах Chromium, Firefox и WebKit. Для Playwright доступны все типы, которые поддерживает CapSkip: reCAPTCHA v2, v3 и Enterprise, виджеты Turnstile и страницы проверки, слайдеры GeeTest v3, ALTCHA, CaptchaFox, Capy, Friendly Captcha и AWS WAF CAPTCHA, а также тысячи картинок с искажённым текстом.
Хелперы на основе распознавания аудио, такие как playwright-recaptcha, работают лишь до тех пор, пока Google продолжает предлагать аудиозадание, а оно обычно пропадает, как только IP начинает выглядеть подозрительно; настоящему токену эта лазейка не нужна. Наборы тестов, уже подключённые к 2Captcha, Anti-Captcha или CapSolver, тоже могут сохранить эти вызовы, поскольку приложение локально отвечает на те же API.
Не хотите возиться с токенами? Запустите постоянный контекст Chromium с загруженным расширением CapSkip, в видимом режиме или в новой headless-реализации, и проверки будут проходиться внутри страницы, пока ваш тест ждёт следующий локатор. Расширение обращается к запущенному приложению CapSkip, поэтому держите приложение открытым. Читайте руководство по расширению
Что получает проект на Playwright от CapSkip
Клиенты для TypeScript и Python
npm install capskip ставит клиент на Promise с типизацией; pip install capskip даёт CapSkip для sync_playwright и AsyncCapSkip для async_playwright, оба с одинаковыми именами методов.
Один хелпер для всех браузерных проектов
SDK отправляет HTTP-запрос приложению CapSkip и никогда не управляет браузером, поэтому один и тот же хелпер решения обслуживает ваши проекты chromium, firefox и webkit без ветвлений.
Токены вставляются через page.evaluate
Прочитайте sitekey через локатор, передайте его в recaptcha() или turnstile() вместе с page.url, затем запишите ответ в скрытое поле ответа и вызовите callback виджета, если он есть.
Решение только при появлении проверки
После каждой навигации давайте локатору виджета короткий таймаут и вызывайте распознавание, только если виджет нашёлся. Страницы без капчи сохраняют обычную скорость Playwright.
Место для каждого воркера тестов
Playwright Test запускает тесты в параллельных воркерах, и каждый из них может решать капчу одновременно с другими. Ограничения на потоки нет, а лицензия фиксированная, поэтому больше воркеров никогда не означает больший счёт.
Вызовы 2Captcha и CapSolver продолжают работать
Набор тестов, построенный на 2Captcha, Anti-Captcha или CapSolver, остаётся как есть. Выберите этот сервис в эмуляторе CapSkip и нажмите Add в строке Hosts file. После этого на его запросы отвечает ваш собственный компьютер, а не платная очередь.
Три способа обойти капчу в Playwright
from playwright.sync_api import sync_playwright
from capskip import CapSkip
solver = CapSkip(host="127.0.0.1", port=8080)
with sync_playwright() as p:
page = p.chromium.launch().new_page()
page.goto("https://example.com/login")
sitekey = page.get_attribute(".g-recaptcha", "data-sitekey")
token = solver.recaptcha(sitekey=sitekey, url=page.url)["code"]
page.evaluate(
"t => document.getElementById('g-recaptcha-response').innerHTML = t", token
)
page.click("button[type=submit]")Python с sync_playwright: прочитайте sitekey reCAPTCHA, получите токен от CapSkip на 127.0.0.1, запишите его на страницу и отправьте форму.
Расширение в постоянном Chromium
Вообще без кода для решения: Playwright запускает Chromium с расширением CapSkip, и оно проходит виджеты на странице. То же расширение работает в обычных Chrome и Firefox.
SDK для Node.js, Python и .NET
Вызывайте через await по одному методу на каждый тип капчи из TypeScript или Python либо используйте клиент .NET в Playwright для .NET. Каждый результат возвращается готовым к вставке.
Локальный API для вашего текущего кода
Существующие запросы в стиле 2Captcha обрабатывает приложение, поэтому старые тесты продолжают работать. Playwright для Java или любая другая привязка может обращаться к HTTP API напрямую.
Направьте скрипт Playwright на живой виджет
Наше демо reCAPTCHA v2 загружает настоящий виджет Google. Направьте на него свой скрипт Playwright, выполните шаг решения и убедитесь, что форма принимает токен, прежде чем переходить к своим целям.
Настройте распознавание капчи для Playwright за три шага
-
Установите приложение на доступную машину
Установите CapSkip рядом с вашим тест-раннером на Windows или на любой VPS, до которого ваши CI-задачи могут достучаться по сети, затем запустите его и оставьте ждать первого решения. Скачать установщик для Windows
-
Войдите с лицензией или пробным периодом
Данные для входа придут на почту после оформления подписки; введите их в приложении. Чтобы сначала попробовать, пробный период даёт 3 дня и 500 решений на одном устройстве, карта не нужна. Оформите бесплатный пробный период
-
Встройте шаг решения в свои тесты
Установите пакет npm или pip, оберните клиент в хелпер или фикстуру и вызывайте его везде, где может появиться проверка. Имена методов и параметры описаны на странице SDK. Открыть руководство по SDK
CapSkip против API с оплатой за решение в наборе тестов Playwright
Строки ниже показывают, что меняется для набора тестов Playwright, когда распознавание переезжает с платного API на ваш собственный компьютер.
| Функция | CapSkip | 2Captcha & API-сервисы |
|---|---|---|
| Как вы платите | Безлимитные решения по фиксированной цене от $35 в месяц | Кредиты списываются за каждую тысячу решений и растут с каждым запуском |
| Где происходит решение | На Windows-машине или VPS под вашим контролем | В облаке провайдера или руками платных исполнителей |
| Языки Playwright | SDK для Node.js и Python, клиент .NET, локальный HTTP API | Их клиентские библиотеки плюс ключ API |
| Параллельные воркеры тестов | Без лимита потоков, предел задаёт только ваше железо | Лимиты параллельности или доплаты |
| Тесты, написанные для 2Captcha | Продолжают работать через встроенный эмулятор | Привязаны к этому API и его предоплаченному балансу |
| Время решения капчи-картинки | Около 0.1 секунды, без пути через интернет | Сетевая задержка и очередь при каждом решении |
| Данные капчи | Никогда не покидает машину, где идёт решение | Каждый раз загружается во внешний сервис |
Цены
Хватит платить за каждое решение
Выберите лицензию
Лицензия Bronze
$35/ месяц
Мгновенная активация лицензии
Оплата помесячно. Отменить подписку можно в любой момент в личном кабинете.
Функции те же. Больше машин, больше производительность.
Каждая машина решает настолько быстро, насколько позволяют её процессор и память. Больше машин означает больше одновременных потоков, поэтому Silver решает вдвое больше капч одновременно, а Gold втрое больше.
- Безлимитное решение, без дневных ограничений
- Безлимитные потоки, скорость растёт вместе с оборудованием
- Точность распознавания от 90% до 100%
- Прямая замена API основных сервисов распознавания
- Работает почти с любым инструментом, без программирования
- REST API, SDK и расширение для браузера
- Бесплатное обучение, когда появляется новый тип капчи
- Работает на вашей машине, ничего с неё не уходит
Каждый тип капчи, показанный выше, входит в любую лицензию. Посмотреть список типов
Просто хотите сначала попробовать?
Начните с бесплатного 3-дневного пробного периода и решите 500 капч любого типа на своих целевых сайтах.
Похожие сервисы распознавания капчи & руководства
Как справиться с капчей в Playwright, шаг за шагом
Начните с выбора места, где будет происходить решение. Playwright предлагает два удобных места: внутри браузера, через расширение CapSkip, или внутри кода тестов, через SDK. Оба работают из Node.js и Python, и в одном репозитории можно использовать каждый там, где он уместен.
Внутри браузера. Запустите постоянный контекст Chromium, который загружает расширение, в видимом режиме или в новом headless-режиме Chromium, потому что старая headless-оболочка не принимает расширения. Оно замечает виджет reCAPTCHA, Turnstile или GeeTest v3, как только тот отрисуется, и решает его, пока ваш следующий локатор ждёт. Для капчи-картинки один раз отметьте в расширении картинку и её поле ввода.
Внутри кода. Получите sitekey из виджета локатором, отправьте его вместе с page.url в SDK, затем через page.evaluate установите скрытое поле, которое читает сайт: g-recaptcha-response для reCAPTCHA, cf-turnstile-response для Turnstile. Вызовите callback виджета, если страница его объявляет, затем отправьте форму. Google держит токен reCAPTCHA действительным примерно две минуты, поэтому решайте прямо перед отправкой, а не в начале теста.
Сохраняйте скорость на чистых страницах. После каждой навигации давайте локатору виджета короткий таймаут и пропускайте решение, если ничего не появилось. Наборы тестов с логином могут один раз решить капчу входа в setup-проекте, сохранить storageState и запускать каждый последующий тест уже авторизованным.
Переходите с платного сервиса? На машине, где работает CapSkip, выберите 2Captcha или Anti-Captcha в настройках эмулятора, а затем одним щелчком позвольте приложению прописать этот сервис в файле hosts Windows. Ваши вызовы Playwright остаются как есть, и каждая поддерживаемая капча решается локально.
Руководства по теме: капча в Patchright · капча в Camoufox · капча в Crawlee
Как обойти капчу в Playwright, не написав код для её решения?
Какие браузеры Playwright работают с CapSkip?
Подходит ли он для Playwright Test с множеством параллельных воркеров?
Можно ли решать невидимую reCAPTCHA и reCAPTCHA v3 из Playwright?
Помешает ли headless-режим работе CapSkip?
Как провести Playwright через Cloudflare Turnstile?
Может ли мой набор тестов Playwright сохранить вызовы 2Captcha или Anti-Captcha?
Достаточно ли одного playwright-recaptcha или stealth-патча?
Пусть ваши запуски Playwright завершаются зелёными
Установите CapSkip, добавьте один шаг решения или расширение, и тесты, которые раньше зависали на проверке, дойдут до последнего assert. Безлимитные решения по одному фиксированному месячному тарифу.
