Я ищу библиотеку Python, которая может помочь с задачами автоматизации окон (либо в macOS, либо в Linux).
Под автоматизацией я подразумеваю поиск окна приложения/игры, получение его содержимого и возможность отправки событий мыши и клавиатуры.
Вот аналогичный код: jBugman/minesweeper на GitHub , цель которого — играть в игру Minesweeper, имитируя события взаимодействия с пользователем.
Я ищу что-то похожее, но в виде библиотеки/фреймворка, которую я могу использовать для аналогичного использования (более универсальный способ). Может работать с Quartz или другими подобными библиотеками. Предпочтительна совместимость с macOS, но я также открыт для Linux (X).
На macOs есть пятом/АТОМак . Это позволяет получить доступ к свойствам текста и значимым действиям без прямого доступа к клавиатуре. Конечно, вам нужно добавить свое приложение в список доступных приложений в настройках macOs . Мой ученик написал скрипт, автоматизирующий некоторые шаги в iTunes . Единственная проблема заключается в том, что гибкие ожидания не работают должным образом, поэтому ему пришлось использовать жестко закодированные time.sleep
вызовы.
Существует не так много инструментов с открытым исходным кодом для доступа к свойствам текста. В Linux это пяцпи2, хотя пользоваться им не так просто. LDTP может быть проще, но он не выглядит популярным. У него есть совместимые с API проекты для Windows и macOs (это пятом на macOs). Но я бы сказал, что место для популярного кроссплатформенного текстового инструмента автоматизации в open-source сегменте вакантно.
PS Я веду некоторый рейтинг инструментов автоматизации графического интерфейса для всех настольных операционных систем, включая самые популярные инструменты на основе мыши/клавиатуры и библиотеки на основе изображений.
Есть Сикули .
SikuliX автоматизирует все, что вы видите на экране вашего настольного компьютера под управлением Windows, Mac или Linux/Unix. Он использует распознавание изображений на основе OpenCV для идентификации и управления компонентами графического интерфейса. Это удобно в тех случаях, когда нет простого доступа к внутренним компонентам графического интерфейса или исходному коду приложения или веб-страницы, с которой вы хотите действовать.
Он поддерживает язык Python уровня 2.7 (поддерживается Jython).
Существует несколько библиотек Python для автоматизации пользовательского ввода, например:
PyAutoGUI (работает в Windows, macOS и Linux)
Модуль Python для программного управления мышью и клавиатурой.
PYAHK AutoHotKey (AHK обычно для Windows, но может использоваться с Wine )
AutoHotKey — мощный автомат задач со встроенным ужасным языком сценариев. Разрешить обмен данными между обоими механизмами сценариев и выполнение команд AHK из Python.
Python-ввод (GPLv3+)
Pythonic API для модуля ядра uinput Linux. Это позволяет подключать драйверы устройств пользовательского пространства к ядру. На практике Python-uinput упрощает создание виртуальных джойстиков, клавиатур и мышей для программной генерации произвольных событий ввода.
Существуют также некоторые инструменты командной строки, которые можно запускать из Python для взаимодействия с приложениями с графическим интерфейсом, например xdotool
. Его можно использовать для управления мышью и клавиатурой, а также поддерживает действия оконного менеджера, такие как перемещение, активация и другие действия в окнах.
Общие инструменты автоматизации для Linux см. также: GUI scipting for Linux .
Смотрите также:
Мог говорит восстановить Монику
Кенорб
Мог говорит восстановить Монику
Кенорб
Мог говорит восстановить Монику