我有一个使用 GTK+ 构建的应用程序。该应用程序有一个非常简单的界面。启动后,始终会打开同一个窗口,其中包含一些输入控件。
我们想要编写一个脚本来填充几个字段中的文本,选中一个复选框,然后单击一个按钮。非常简单,如果应用程序的命令行版本可用(但事实并非如此),那么就很容易做到。
以编程方式与 X 应用程序交互的最佳方式是什么?
答案1
答案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