Puppeteer (Node.js) модуль
Используется Puppeteer для автоматического решения капчи.
Поддерживает клики по изображениям, перетягивание ползунка и другие типы.
Актуальная версия:
| Версия модуля | Скачать | Изменения |
|---|---|---|
| 0.1 | 0.1 | Первая версия |
Установка
bash
npm install puppeteerСкопируйте папку capguru в свой проект.
Как использовать
Импортируйте CaptchaSolver из пакета.
Передайте страницу с капчей и API ключ. Вызовите нужный метод решения капчи. На взаимодействие с капчей нужно подождать пару секунд.
javascript
const puppeteer = require('puppeteer');
const { CaptchaSolver } = require('./capguru');
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto('https://example.com/with-captcha');
const solver = new CaptchaSolver({
page,
apiKey: 'YOUR_CAPGURU_API_KEY',
debug: true,
attempts: 5,
});
await solver.solveRecaptcha2();
await browser.close();
})();Вызовите нужный метод:
await solver.solveRecaptcha2();
// await solver.solveHcaptcha();
// await solver.solveOther();
// await solver.solveGeetest();
// await solver.solveFuncaptcha();
// await solver.solveTiktok();Поддержка капч:
| reCaptcha2 | FunCaptcha | TikTok | GeeTest | hCaptcha | Other |
|---|---|---|---|---|---|
| Да | Да | Да | Да | Да | Да |
Параметры конструктора:
| Параметр | Тип | По умолчанию | Описание |
|---|---|---|---|
page | Page | — | Экземпляр Puppeteer page |
apiKey | string | — | API-ключ Cap.Guru |
server | string | 'https://api.cap.guru' | URL сервера API |
attempts | number | 5 | Макс. количество попыток |
debug | boolean | false | Вывод отладочных сообщений |
selector | string | '' | CSS-селектор контейнера капчи |
Требования
- Node.js 18
- Puppeteer 23
Обработка ошибок
Все солверы выбрасывают Error при неудаче:
javascript
try {
await solver.solveRecaptcha2();
} catch (e) {
if (e.message.includes('ERROR_CAPTCHA_UNSOLVABLE')) {
console.log('Капча не решена за все попытки');
}
}