是否有 pywinauto 等效程序可以从 Python 自动化 GUI?

是否有 pywinauto 等效程序可以从 Python 自动化 GUI?

pywinauto是一组用于自动化 Microsoft Windows GUI 的 Python 模块。最简单的方法是,它允许您将鼠标和键盘操作发送到 Windows 对话框和控件。

这个 Python 模块在 Linux 上有对应版本吗?

谢谢!

答案1

Linux 桌面测试项目 (ldtp)应该能满足您的需求。python-ldtp 安装 python-ldtp包,您可以用 Python 编写脚本。该项目使用辅助功能方法来执行操作,因此相关应用程序必须是“标准” GTK/QT/... 应用程序,并且您需要启用辅助功能(“辅助技术”)。

sudo apt-get install python-ldtp

以下 Python 脚本将单击(已存在的)gedit 窗口中的“新建”按钮并输入字符串foo

#!/usr/bin/python

from ldtp import *
from ldtputils import *
click('*-gedit', 'btnNew') 
generatekeyevent('foo')

答案2

您可以使用 Sikuli(现名为 SikuliX)

网址: 网址:sikuli.org

据该网站称:

SikuliX 可以自动化您在运行 Windows、Mac 或某些 Linux/Unix 的台式计算机屏幕上看到的任何内容。它使用 OpenCV 支持的图像识别来识别和控制 GUI 组件。当无法轻松访问 GUI 的内部结构或您想要操作的应用程序或网页的源代码时,这非常有用。

SikuliX 支持以下脚本语言:

  • Python 语言级别 2.7(Jython 支持)
  • Ruby 语言级别 1.9 和 2.0(JRuby 支持)

... 您可以在 Java 编程和编程/脚本中使用它,以及使用任何支持 Java 的编程/脚本语言(Jython、JRuby、Scala、Clojure 等)。

虽然 SikuliX 目前还不能在任何移动设备上使用,但它可以与台式计算机上的相应模拟器一起使用或基于 VNC 解决方案。

请记住它处于测试阶段。

相关内容