Нужно разработать бот, который будет работать с веб-сервисом (каталоги автозапчастей) только по картинке экрана и имитировать действия пользователя.
Доступ к сервису реализован через удалённый сервер (RDP) VMware Horizon.
Кода страницы, DOM и API нет.
При этом текст и картинки в интерфейсе можно выделять и копировать.
На практике задача "научить" бот проходить по заранее заданным путям (последовательностям экранов) с совершением заданных действий:
- захват экрана/окна
- управление мышью и клавиатурой (клики, скролл, ввод, сочетания клавиш)
- работа с буфером обмена (чтение скопированного текста)
- распознавание экрана/состояния интерфейса
- находить элементы по картинке (кнопки, иконки) и по тексту. при необходимости использовать OCR
- хранить сценарии в YAML/JSON (я задаю путь словами, бот исполняет)
- уметь описывать: ожидаемый тип экрана, что искать (текст/номер схемы/синонимы), что делать (клик, скролл, ввод данных, копирование)
- проверка, что бот на правильном экране
- обработка таймаутов, ошибок, всплывающих окон
- реализовать механизм “обучения на опыте”: логировать успешные/неуспешные шаги, расширять списки допустимых вариантов, оптимизировать маршрут (кэшировать удачные действия, уменьшать число поисков). формат “обучения” не должен быть оверинжинирингом: достаточно разумной системы логов + обновляемых словарей/паттернов
Требования к результату:
- работающий прототип и возможность его развивать
- высокая скорость работы принципиально важна