Решить капчу

Описание
Блок позволяет решить капчу определенного типа через сервис “ruCaptcha”.
Виды капчи:
-
Обычная капча
Обычная капча — это изображение, на котором размещён искажённый текст, который может быть прочитан человеком. Чтобы решить капчу, нужно ввести текст с изображения.


Параметры блока:
Параметр | Обязателен | Описание |
---|---|---|
Тип капчи | Да | Вид капчи |
Формат | Нет | Формат из чего состоит капча |
Путь к изображению | Да | Путь к изображению капчи (полный путь или ссылка на файл) |
Ключ API | Да | Ключ API сервиса ruCaptcha |
Мат. операция | Нет | Капча требует/не требует совершения математического действия (например: напишите результат 2 + 2 = ) |
Фраза | Нет | Капча состоит из одного/двух или более слов |
С учетом регистра | Нет | Капча чувствительна/не чувствительна к регистру |
Кириллица | Нет | Капча содержит/не содержит только кириллицу |
Мин. длина | Нет | Минимальное количество символов в ответе |
Макс. длина | Нет | Максимальное количество символов в ответе |
-
Recaptcha_v2
Внешний вид reCAPTCHA_V2:


Параметры блока:
Параметр | Обязателен | Описание |
---|---|---|
Тип капчи | Да | Вид капчи |
Невидимый | Нет | Видимая/невидимая капча |
Ключ API | Да | Ключ API сервиса ruCaptcha |
Sitekey | Да | Уникальный ключ капчи (значение параметра data-sitekey) |
URL-адрес | Да | URL-адрес страницы, где решается капча |
-
Recaptcha_v3
reCAPTCHA V3 - это вид капчи, который основан на рейтинге “человечности” пользователя и не требует от пользователя выполнения каких-либо заданий.


Параметры блока:
Параметр | Обязателен | Описание |
---|---|---|
Тип капчи | Да | Вид капчи |
Ключ API | Да | Ключ API сервиса ruCaptcha |
Sitekey | Да | Уникальный ключ капчи (значение параметра data-sitekey) |
Action | Да | Значение в вызове функции grecaptcha.execute |
URL-адрес | Да | URL-адрес страницы, где решается капча |
POST-запрос ID | Да | ID в параметрах POST-запроса (например: g-recaptcha-response или g-recaptcha-response-100000) |
Примеры использования
-
Обычная капча
В данном примере блок решает обычную капчу на сайте: https://captcha-api.yandex.ru/demo:
- Открывается страница https://captcha-api.yandex.ru/demo;
- Подключается к фрейму контейнера капчи по селектору: #captcha-container > iframe, чтобы запустить проверку с помощью клика;
- Подключается к новому фрейму по селектору: body > div.SmartCaptcha-Overlay.SmartCaptcha-Overlay_visible > iframe;
- Проверяет существует ли окно с заданием;
- Забирает url-путь к файлу из параметра src в элементе: //div[@class = ‘AdvancedCaptcha-View’]/img;
- Решает обычную капчу;
- Вводит полученный результат в поле для ответа и нажимает Enter;
- Видит сообщение о успешном решении капчи.

-
Проект процесса и материалы для его выполнения
Результат
После решения капчи на сайте высветится сообщение “Hello, user”:

-
Recaptcha_v2
В данном примере блок решает reCaptcha_V2 на сайте: https://www.google.com/recaptcha/api2/demo.

Значение параметра data-sitekey берем из html страницы:

-
Проект процесса и материалы для его выполнения
Результат
После решения капчи на сайте высветится сообщение “Проверка прошла успешно…Ура!”:

-
Recaptcha_v3
В данном примере блок решает reCaptcha_V3 на сайте: https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php.

Значение sitekey берется из параметра render из html страницы:

Значение action берется из вызова функции grecaptcha.execute из html страницы:

Значение POST-запрос ID берется из атрибута textarea, где передается токен ******капчи из html страницы:

-
Проект процесса и материалы для его выполнения
Результат
После удачного решения капчи на сайте приходит ответ в формате JSON:
{ "success": true, "hostname": "recaptcha-demo.appspot.com", "challenge_ts": "2023-10-18T09:04:39Z", "apk_package_name": null, "score": 0.9, "action": "examples/v3scores", "error-codes": []}