在Python上模拟鼠标点击

我目前正在制作我的任天堂Wiimote(实际上有点难过),以我的电脑作为鼠标工作。 我已经设法使nunchuk的控制杆实际上在屏幕上上下左右移动鼠标! 这太令人兴奋了。 现在我卡住了。

当我按A键的时候,我想通过python左键/右键点击事物,当我去做search的时候,所有想到的都是tkinter?

所以我的问题是,我打电话让python左键/右键单击桌面上,如果可能的话,也许提供一个片段?

感谢您的帮助!

注意:我想我忘记提到这是针对Linux的。

Solutions Collecting From Web of "在Python上模拟鼠标点击"

你可以使用现在已经与PyUserInput合并的PyMouse 。 我通过pip安装它:

apt-get install python-pip

pip安装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。

evdev包在Linux中提供了对输入处理子系统部分的绑定。 它也恰好包括一个python的输入界面。

使用evdev发送相对运动事件和鼠标左键单击示例:

 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工作极好..感谢Al Sweigart …

我的例子…

 import pyautogui pyautogui.FAILSAFE = False for x in range(555, 899): pyautogui.moveTo(x, x) 

你可能会发现这有帮助:

http://www.eventghost.org/

祝你好运!

您可以尝试从Python脚本接口XTE程序。

打开你的终端,并转到/ usr / share / pyshared / twisted / protocols / mice
可能这__init__.py mouseman.py python脚本将为您工作,检查出来。

您可以从PyPI安装PyAutoGUI GUI自动化模块(运行pip install pyautogui ),然后调用pyautogui.click()单击屏幕的某个X和Y坐标:

 >>> import pyautogui >>> pyautogui.click(50, 100) >>> pyautogui.moveTo(200, 200) 

PyAutoGUI可以在Windows,Mac和Linux以及Python 2和3上运行。它还可以模拟键盘,做鼠标拖动,截图,以及对截图进行简单的图像识别。

完整的文档在https://pyautogui.readthedocs.org/

我没有看到这个提到,所以在这里呢 – 也有python-dogtail ; 看到:

  • 使用Dogtail自动进行GUI测试| 红帽
  • 测试/自动化/ DogtailTutorial – Ubuntu Wiki

它需要Gnome桌面中的“启用辅助技术” – 但是原则上可以获得例如应用程序的GUI按钮的名称,并允许虚拟点击(而不是通过x / y坐标)。