Как я могу управлять мышью и клавиатурой в Python?
Идея состоит в том, чтобы сделать то же как Робот () класс в Java. Смогите сказать: переместите мышь отсюда до сюда, нажмите там, запишите это независимо от того, что находится на экране.
Для Windows существует win32api, но я использую главным образом Linux.
Для Linux существует Xlib, но делает он работает на клавиатуру также? (найденный только ссылка на мышь)
Существует ли межплатформенное решение? (Linux, Windows и даже OS X были бы великим.)
для мыши, я нашел pymouse, которая, кажется, работает (я еще не пробовал полностью, небольшой хак, необходимый для щелчка, cf issues)
для клавиатуры, я не уверен, что Xlib справится с этой задачей. Я все еще ищу, как написать что-нибудь, но вы можете поймать ключевое событие, как объяснено здесь или на C здесь с помощью Xlib (но я не знаю C).
здесь - это пример работы только с гномами (еще не достаточно хороший)
В pymouse, у них есть хороший способ заставить его работать на 3-х разных платформах, но нужно сделать 3 кода...
.Я использую dogtail ( https://fedorahosted.org/dogtail/ ), чтобы делать такие вещи, используя это, я создал платформу автоматического тестирования для своего Linux (Ubuntu ) приложение. Эта структура нажимает кнопки и вводит текст в текстовые поля.
см. Пример gedit, https://fedorahosted.org/dogtail/browser/examples/gedit-test-utf8-procedural-api.py
Итак просто используйте dogtail, например
dogtail.rawinput.click(100, 100)
Для консоли попробуйте ncurses или сленг. В другой ситуации попробуйте PyQt, PyGtk, TkInter.
ВСЕ это решение ЯВЛЯЕТСЯ кроссплатформенным и работает практически где угодно.
Для линукса есть Xlib, но работает ли он и для клавиатуры? (найдена только ссылка на мышь)
Да, это работает и для клавиатуры.
Вот вам целочисленная Нить с Python форума: Python Forum
Edit: Также был задан целочисленный вопрос о переполнении стека относительно управления мышью... может быть, это хорошая отправная точка... Управление мышью на Python
Один из ответов ссылается на пример Linux... который направляет вас к хорошей записи в блоге.