Всем привет!
Ради фана и саморазвития пытаюсь автоматизировать процесс игры в одну web-based игру. Игра представляет из себя сайт с HTML5 canvas элементом, на котором отрисовывается игровое поле.
Необходимая последовательность действий следующая:
- Залогиниться на игровом сайте.
- Открыть страницу с игрой.
- Просканировать входные игровые данные, отображённые на canvas'е.
- Сымитировать пользовательскую активность на canvas (движения мыши, клики и т.п.).
- Вычленить результат матча, выданный в виде обычной HTML-страницы, и скорректировать игровую стратегию на его основе.
- Вернуться к п.2 и повторить.
Сразу оговорюсь, что методы, при которых браузер и отображаемые в нём данные интерпретируются как внешний объект, не интересуют. То есть анализ состояния сайта путём машинного зрения и имитация пользовательской активности через оконные сообщения не подходят. Хочется работать напрямую с клиентским кодом сайта, максимально сфокусировавшись именно на бизнес-логике (откуда какие данные взять, как их обработать, какие действия в результате выполнить).
Также хотелось бы, чтобы выбранный вариант решения этой задачи позволял смотреть за игрой в процессе, то есть чтобы автоматизировалась работа реального браузера. Однако варианты с headless браузерами тоже готов рассмотреть в качестве самообразования.
Буду благодарен, если вы посоветуете инструменты, которые удовлетворяют всем вышеперечисленным условиям и гарантированно способны решить поставленную задачу. Ответы уровня "сам не пробовал, но что-то слышал про toolXYZ, попробуй, может, получится" не подходят, интересен опыт из первых рук.
Спасибо всем кто откликнется!