以编程方式与 X 应用程序交互

以编程方式与 X 应用程序交互

我有一个使用 GTK+ 构建的应用程序。该应用程序有一个非常简单的界面。启动后,始终会打开同一个窗口,其中包含一些输入控件。

我们想要编写一个脚本来填充几个字段中的文本,选中一个复选框,然后单击一个按钮。非常简单,如果应用程序的命令行版本可用(但事实并非如此),那么就很容易做到。

以编程方式与 X 应用程序交互的最佳方式是什么?

答案1

给 xdotool (Ubuntu 手册页) 看看。

它非常强大,应该能够完成您需要的任何操作。

http://www.semicomplete.com/projects/xdotool/

答案2

xte, 部分x自动化是另一个工具,您可以使用 XTest 扩展来生成假 X11 输入。

从主页:

从脚本的命令行控制 X,并进行“视觉抓取”以查找屏幕上的内容。控制界面允许鼠标移动、单击、按钮向上/向下、按键向上/向下等,并使用 XTest 扩展,因此当应用程序忽略发送的事件时,您不会遇到 xse 所遇到的恼人问题。 visgrep 程序查找图像中的图像并报告坐标,允许程序在屏幕上查找按钮等以供单击。

答案3

Xte 可以用,但它确实很旧。 xdotool 至少正在积极开发中。

我对生成 X Windows 事件进行了大量研究,名义上是为了开发一个可以键入字符串的键盘宏程序,或者通常不允许您使用粘贴的应用程序中的剪贴板。

X Window 事件处理注释... https://antofthy.gitlab.io/info/X/event_handling.txt

键盘宏(使用 xte 或 xdotool https://antofthy.gitlab.io/software/#keyboard_macro

相关内容