Интеграция анти-капчи в Selenium, Puppeteer и Playwright без лишней магии
Если сервис подключён криво, бот начинает не «решать капчу», а ломать весь сценарий. Базовая схема одна: ловим появление challenge, отправляем sitekey/URL в анти-капчу, ждём токен и вставляем его до сабмита. Разница между стеком — только в точке встраивания и способе дождаться нужного DOM-состояния.
Selenium: удобно прокидывать токен через execute_script и триггерить change/input на скрытом поле. Puppeteer: лучше работать через page.evaluate, но не забывать про реальные события, а не только assignment в value. Playwright: стабильнее всего цеплять через locator.fill + dispatchEvent, если виджет принимает текстовый инпут; для iframe придётся идти через frameLocator.
Логика одна и та же: не полагаться на fixed sleep, ждать конкретный селектор, проверять, что токен не пустой, и всегда делать повторную попытку после таймаута. Если анти-капча отдаёт token, а страница молчит — проблема обычно в неправильном контейнере, гонке событий или в том, что challenge живёт внутри iframe.
Снижаем косты на распознавание: сначала валидируем, что капча реально показана, потом только запускаем запрос в сервис. Иначе парсер начинает жечь баланс на ложных срабатываниях. Надёжная интеграция — это не «вызвать API», а точно попасть в момент, когда фронт уже готов принять ответ.
Анти-капча стек
@anti_captcha_stack_ubt
Интеграция анти-капчи в Selenium, Puppeteer и Playwright без лишней магии
Этот пост опубликован в Telegram-канале Анти-капча стек. Подписаться можно по ссылке: @anti_captcha_stack_ubt.