Имитация щелчков мыши на Python
Вопрос
В настоящее время я в настоящее время в процессе создания моего Nintendo Wiimote (Wirea Sad на самом деле) работать с моим компьютером как мышь. Мне удалось сделать контроль палки Nunchuk на самом деле переместить мышь вверх и вниз, слева и вправо на экране! Это было так захватывающе. Теперь я застрял.
Я хочу покинуть / правой кнопкой мыши на вещи через Python, когда я нажимаю, когда я пошел, когда я пошел, чтобы сделать поиск, все, что он придумал, был Tkinter?
Итак, мой вопрос в том, что я звоню, чтобы сделать Python Left / Щелкнуть правой кнопкой мыши на рабочем столе, и если это возможно, возможно, предоставить фрагмент?
Спасибо за помощь!
Примечание: я предполагаю, что я забыл упомянуть, что это для Linux.
Решение
Python-Uinput очень прост в использовании.
http://tjjr.fi/software/python-uinput/
Вот пример https://github.com/tuomasjisanen/python-uinput/blob/master/example/mouse.py.
Другие советы
Вы можете использовать Пимоз который теперь слился с Pyuserinput.. Отказ Я установил его через Пип:
apt-get install python-pip
pip install pymouse
В некоторых случаях он использовал курсор и в других он смоделировал события мыши без курсора.
from pymouse import PyMouse
m = PyMouse()
m.position() #gets mouse current position coordinates
m.move(x,y)
m.click(x,y) #the third argument "1" represents the mouse button
m.press(x,y) #mouse button press
m.release(x,y) #mouse button release
Вы также можете указать, какая кнопка мыши вы хотите использовать. Ex левая кнопка:
m.click(x,y,1)
Имейте в виду, на Linux это требует XLib.
То Евдев Пакет предоставляет привязки к частям подсистемы входной обработки в Linux. Также случается, чтобы включить интерфейс Pythonic для UINPUT.
Пример отправки относительного события движения и левая мышь щелчок с участием Евдев:
from evdev import UInput, ecodes as e
capabilities = {
e.EV_REL : (e.REL_X, e.REL_Y),
e.EV_KEY : (e.BTN_LEFT, e.BTN_RIGHT),
}
with UInput(capabilities) as ui:
ui.write(e.EV_REL, e.REL_X, 10)
ui.write(e.EV_REL, e.REL_Y, 10)
ui.write(e.EV_KEY, e.BTN_LEFT, 1)
ui.syn()
Pyautogui работает превосходным .. Благодаря Аль-Sweigart ...
Пример моего ...
import pyautogui
pyautogui.FAILSAFE = False
for x in range(555, 899):
pyautogui.moveTo(x, x)
Вы можете попробовать интерфейс Оседание Программа из сценария Python.
Откройте свой терминал и получите CD / USR / Share / Pyshared / Twisted / протоколы / мыши
май это __init__.py
mouseman.py
Питонский скрипт будет работать для вас, проверять их.
Вы можете установить модуль автоматизации Pyautogui GUI из Pypi (Run pip install pyautogui
) а затем позвоните pyautogui.click()
Чтобы нажать на определенные координаты X и Y экрана:
>>> import pyautogui
>>> pyautogui.click(50, 100)
>>> pyautogui.moveTo(200, 200)
Pyautogui работает на Windows, Mac и Linux, а также на Python 2 и 3. Он также может эмулировать клавиатуру, Do Do Trags Mouse, возьмите скриншоты и выполните простое распознавание изображений скриншотов.
Полные документы находятся в https://pyautogui.readtheDocks.org/
Я не видел, как это упоминалось, так вот идет - есть также python-dogtail
; видеть:
- Автоматизированное тестирование GUI с Dogtail | Красная шляпа
- Тестирование / Автоматизация / DogTailuTorial - Ubuntu Wiki
Это требует «включить вспомогательные технологии» на рабочем столе Gnome - но в принципе может получить, например, имена кнопок GUI приложения и позволяют виртуальным щелкам на них (а не через координаты X / Y).