3

我想在 Linux 系统(Ubuntu)中模拟 Python 中的鼠标点击(如果可能的话,还有键盘输入),所以我能够为外部程序创建一个宏。

我进行了一些研究,发现了这样的问题它们使用 win32api 或 ctypes 来完成这项工作。但是由于我在 Ubuntu 中工作,所以这些不适合我。

我还发现了 Xaut(以前的 Xautomation),据说它可以模拟 Linux 系统上的鼠标和键盘交互。但是它对我来说很难安装,而且无论如何它都缺少文档和示例。

我真的很喜欢 win32api 解决方案,它非常简单。Linux没有类似的解决方案吗?

4

2 回答 2

5

与 Windows 不同,Linux 在设计上是一个安全系统,因此注入/拦截用户事件并不简单 :-)

但是有一些工具可以在 Linux 上做同样的事情(至少当他们有 xauth 凭证时,所以不会窥探/破解同一台计算机上的其他用户)。试试xdotool,它提供了广泛的命令来查找和选择窗口,然后向它们发送事件。

xdotool 适用于大多数 Linux 发行版(基于 debian 和 rpm)。

注意:出于安全原因,X11 中的合成事件设置了一个标志,某些软件会忽略所有带有此标志的事件。

于 2013-01-23T09:02:47.233 回答
2

你可以使用这个:

import pyautogui 
x= #x position
y= #y position
pyautogui.click(x,y)

要安装 pyautogui,请访问官方安装页面文档:https ://pyautogui.readthedocs.io/en/latest/install.html

要自动编写文本,请使用:

import pyautogui
pyautogui.write('write this example')
于 2019-12-13T14:50:46.197 回答