ComplexImageTask YandexSmartCaptcha решение YandexSmartCaptcha
Объект содержит данные о задаче на решение YandexSmartCaptcha.
Пример изображения
Структура объекта
Параметр | Тип | Обязательный | Возможные значения | Описание |
type | String | да | ComplexImageTask | Определяет тип объекта задачи |
class | String | да |
| Определяет класс объекта задачи |
imagesBase64 | Array | да | [ “ | Список с одним изображением в формате base64. |
Пример запроса
Адрес https://api.capmonster.cloud/createTask
{
"clientKey": "b06025dbcd87ee02a315f0faadefa63c",
"task": {
"type": "ComplexImageTask",
"class": "yandexsmartcaptcha",
"imagesBase64": ["iVBORw0KGgoAAAANSUhEUgAAASwLbb..."]
}
}
Пример ответа
{
"errorId":0,
"taskId":407533072
}
Получение результата
Используйте метод getTaskResult чтобы получить решение капчи. В зависимости от загрузки системы вы получите ответ через время в диапазоне от 300мс до 6 с.
Свойство | Тип | Описание |
answer | Array | Список координат |
metadata | Null | Не несет полезной информации |
Пример:
{
"solution": {
"answer": [
{
"X": 98,
"Y": 140
},
{
"X": 103,
"Y": 54
},
{
"X": 273,
"Y": 117
},
{
"X": 32,
"Y": 89
},
{
"X": 189,
"Y": 149
}
],
"metadata": null
},
"cost": 0.0002,
"status": "ready",
"errorId": 0,
"errorCode": null,
"errorDescription": null
}
Ценообразование:
Наименование | Стоимость за 1000 картинок, $ |
---|---|
Yandex SmartCaptcha (click) | 0.2 |
Формат картинки
Капча с заданием передается одной картинкой. Размер на сервисах яндекса 300x220, на сторонник сайтах 320x220.
Расстояние от картинки до контейнера с текстом задания нужно сделать 4px(margin-top). В оригинале 13px.
Работа с ZennoPoster
Нам требуется подготовить задание, сделать скриншот элемента и отправить его на распознавание в CapmonsterCloud.
Для подготовки задания к отправке и получении картинки в base64 можно воспользоваться следующим C# сниппетом:
Если сохранить результат выполнения этого кубика в переменную imageBase64
, то отправка POST-запроса на /createTask
будет выглядеть следующим образом:
После получения результата распознавания, можно воспользоваться следющим C# сниппетом для прокликивания координат:
Итоговый тестовый проект(не забудьте прописать свой API ключ от capmonster cloud)
Работа с другими программами
Большинство фреймворков для автоматизации(Selenium/Puppeteer/Playwright и тд) предоставляют возможности для создания скриншота.
Например, таким образом можно получить картинку с заданием в playwright:
После картинку нужно обрезать. Для этого воспользуемся библиотекой sharp: