繁体   English   中英

模拟鼠标点击 Python

[英]Simulate Mouse Clicks on Python

我目前正在制作我的 Nintendo Wiimote(实际上有点难过)作为鼠标与我的电脑一起工作。 我已经设法让双节棍的摇杆控制实际上在屏幕上上下左右移动鼠标。 这太令人兴奋了。 现在我卡住了。

当我按 A 时,我想通过 python 左/右单击事物,当我去搜索时,它得出的结果是 tkinter?

所以我的问题是,要在桌面上左/右单击 python,我应该调用什么,如果可能的话,也许提供一个片段?

谢谢您的帮助!

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

您可以使用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中输入处理子系统各部分的绑定。 它也恰好包括一个到uinput的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脚本对您mouseman.py ,请检查一下。

您可以从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坐标)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM