在Python上模拟鼠标点击

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Python上模拟鼠标点击相关的知识,希望对你有一定的参考价值。

我目前正在制作我的Nintendo Wiimote(实际上有点可悲)用我的电脑作为鼠标。我已经设法让nunchuk的操控杆实际上在屏幕上左右移动鼠标!这太令人兴奋了。现在我被卡住了。

当我按A时,我想通过python左/右点击一下,当我去搜索时,它想出的一切都是tkinter?

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

谢谢您的帮助!

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

答案

python-uinput非常容易使用。

http://tjjr.fi/software/python-uinput/

这是https://github.com/tuomasjjrasanen/python-uinput/blob/master/examples/mouse.py的一个例子

另一答案

您可以使用现已与PyMouse合并的PyUserInput。我是通过pip安装的:

  1. apt-get install python-pip
  2. 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

您还可以指定要使用的鼠标按钮。前左键:

m.click(x,y,1)

请记住,在Linux上它需要Xlib。

另一答案

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

使用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程序。

另一答案

打开终端并转到cd / 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;看到:

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

以上是关于在Python上模拟鼠标点击的主要内容,如果未能解决你的问题,请参考以下文章

如何使用python来模拟鼠标点击(将通过实例自动化模拟在360浏览器中自动搜索"python")

在 Python 上模拟键盘和鼠标的最简单方法是啥?

python如何模拟点击这样的网址链接?

请问如何用delphi 模拟移动点击鼠标,

VB如何模拟鼠标点击网页按钮?

如何模拟鼠标点击和拖动?