Решить капчу
Описание
Блок позволяет решить капчу определенного типа через сервис ruCaptcha.
Обычная капча
Обычная капча — это изображение, на котором размещён искажённый текст, который может быть прочитан человеком. Чтобы решить капчу, нужно ввести текст с изображения.
Параметры блока:
| Параметр | Обязателен | Описание |
|---|---|---|
| Тип капчи | Да | Вид капчи |
| Формат | Нет | Формат из чего состоит капча |
| Путь к изображению | Да | Путь к изображению капчи (полный путь или ссылка на файл) |
| Ключ API | Да | Ключ API сервиса ruCaptcha |
| Мат. операция | Нет | Капча требует/не требует совершения математического действия (например: напишите результат 2 + 2 = ) |
| Фраза | Нет | Капча состоит из одного/двух или более слов |
| С учетом регистра | Нет | Капча чувствительна/не чувствительна к регистру |
| Кириллица | Нет | Капча содержит/не содержит только кириллицу |
| Мин. длина | Нет | Минимальное количество символов в ответе |
| Макс. длина | Нет | Максимальное количество символов в ответе |
recaptcha_v2
reCAPTCHA v2 — это система от компании Google, предназначенная для защиты веб-сайтов от спама и злоупотреблений, создаваемых ботами (автоматическими программами), при этом позволяя проходить проверку реальным пользователям.
Параметры блока:
| Параметр | Обязателен | Описание |
|---|---|---|
| Тип капчи | Да | Вид капчи |
| Невидимый | Нет | Видимая/невидимая капча |
| Ключ 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 на сайте: https://www.google.com/recaptcha/api2/demo.

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

-
Проект процесса и материалы для его выполнения
Результат
После решения капчи на сайте высветится сообщение “Проверка прошла успешно…Ура!”:
В данном примере блок решает 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": []}