- Notifications
You must be signed in to change notification settings - Fork1
Решение капчи Yandex SmartCaptcha от Яндекса с использованием библиотеки Puppeteer и сервиса 2captcha. Демо автоматизации обхода капчи Yandex Smart Captcha.
License
dzmitry-duboyski/solving-yandex-smart-captcha-using-puppeteer
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
В этом примере показывается как автоматизировать решение капчи Yandex SmartCaptcha на демо странице капчиhttps://captcha-api.yandex.ru/demo. Для автоматизации используется библиотекаPuppeteer и сервис решения капч2captcha.com. Для корректной работы примера нуженAPIKEY
, для этого необходимо иметь аккаунт в сервисе2captcha.com,APIKEY
отображается в личном кабинете.
git clone https://github.com/dzmitry-duboyski/solving-yandex-smart-captcha-using-puppeteer.git
npm install
Установить вашAPIKEY
в файле./index.js#L3
APIKEY
указан в личном кабинете аккаунта2captcha.com. Перед копированиемAPIKEY
, проверьте что в вашем аккаунте выбрана роль"разработчик".
npm run start
importpuppeteerfrom"puppeteer";import{Solver}from"2captcha-ts";constsolver=newSolver("<Your 2captcha APIKEY>");;(async()=>{constbrowser=awaitpuppeteer.launch({headless:false,});constpage=awaitbrowser.newPage();// Открыть необходимую страницу с капчей// Open target pageawaitpage.goto("https://captcha-api.yandex.ru/demo");awaitpage.waitForSelector("#captcha-container");awaitpage.waitForSelector("iframe[data-testid='checkbox-iframe'");// Заполнить поля для ввода// Enter dataawaitpage.$eval("#name",(el)=>(el.value=""));awaitpage.type("#name","Иван Иванов",{delay:100});// Получить параметр `sitekey` с текущей страницы// Get the `sitekey` parameter from the current pageconstsitekey=awaitpage.evaluate(()=>{returndocument.querySelector("#captcha-container").getAttribute("data-sitekey");});// Отправить капчу в сервис 2captcha.com для получения решения// Send a captcha to the 2captcha service to get a solutionconstres=awaitsolver.yandexSmart({pageurl:"https://captcha-api.yandex.ru/demo",sitekey:sitekey,});console.log(res);// Полученное решение// The resulting solutionconstcaptchaAnswer=res.data;// Использовать полученное решение на странице// Use the resulting solution on the pageconstsetAnswer=awaitpage.evaluate((captchaAnswer)=>{document.querySelector("input[data-testid='smart-token']").value=captchaAnswer;},captchaAnswer);// Нажать на кнопку 'Submit', для проверки решения капчи// Click on the 'Submit' button to check the captcha solutionawaitpage.click("#smartcaptcha-demo-submit");awaitpage.waitForSelector(".greeting");console.log("Капча успешно решена!!!");console.log("Captcha solved successfully!!!");browser.close();})();
Исходный код примера доступен в файлеindex.js
Important
Если вам необходимо решать капчу яндекса которую необходимо кликать, то вам необходимо использовать методCoordinates API v1 \Coordinates API v2, подробнее описано встатье.
About
Решение капчи Yandex SmartCaptcha от Яндекса с использованием библиотеки Puppeteer и сервиса 2captcha. Демо автоматизации обхода капчи Yandex Smart Captcha.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.