Linux上易于使用的AutoHotkey/AutoIt替代方案

Linux上易于使用的AutoHotkey/AutoIt替代方案,linux,user-interface,scripting,automation,autohotkey,Linux,User Interface,Scripting,Automation,Autohotkey,我正在寻找关于Linux的易于使用的GUI自动化/宏平台的建议 如果您熟悉Windows或Windows上的应用程序,那么您就可以确切地知道我需要的功能类型以及复杂程度。如果您不熟悉,下面是一个小代码片段,说明使用AutoHotkey有多容易: InputBox, varInput, Please enter some random text... Run, notepad.exe WinWaitActive, Untitled - Notepad SendInput, %varInput% S

我正在寻找关于Linux的易于使用的GUI自动化/宏平台的建议

如果您熟悉Windows或Windows上的应用程序,那么您就可以确切地知道我需要的功能类型以及复杂程度。如果您不熟悉,下面是一个小代码片段,说明使用AutoHotkey有多容易:

InputBox, varInput, Please enter some random text...
Run, notepad.exe
WinWaitActive, Untitled - Notepad
SendInput, %varInput%
SendInput, !f{Up}{Enter}{Enter}
WinWaitActive, Save
SendInput, SomeRandomFile{Enter}
MsgBox, Your text`, %varInput% has been saved using notepad!

#n::Run, notepad.exe
现在,上面的例子虽然有点毫无意义,但它是我想要的那种功能性和简单性的演示。以下是对那些不会说自动热键的人的解释:

InputBox, varInput, Please enter some random text...
Run, notepad.exe
WinWaitActive, Untitled - Notepad
SendInput, %varInput%
SendInput, !f{Up}{Enter}{Enter}
WinWaitActive, Save
SendInput, SomeRandomFile{Enter}
MsgBox, Your text`, %varInput% has been saved using notepad!

#n::Run, notepad.exe
----开始解释代码----

  • 要求用户输入一些文本并将其存储在varInput中
  • 运行notepad.exe
  • 等待窗口存在并处于活动状态
  • 以一系列按键的形式发送varInput的内容
  • 发送按键以转到文件->退出
  • 等待“保存”窗口处于活动状态
  • 发送更多的击键
  • 显示包含一些文本和变量内容的消息框

  • 注册一个热键Win+N,按下该热键时执行notepad.exe

----解释结束----

正如您所了解的,这些功能非常明显:能够轻松模拟键盘和鼠标功能、读取输入、处理和显示输出、执行程序、操作窗口、注册热键等——所有这些都不需要任何#include、不必要的括号、类声明等。简言之:简单

现在我已经使用了一些Perl和Python,但它肯定不是自动热键。它们非常适合更高级的东西,但肯定有一些工具可以实现简单的GUI自动化,对吗

PS:我已经尝试使用运行AutoHotkey,但发送击键和热键不起作用。

正在开发一种跨平台风格的AutoHotkey,可以在Linux上使用,但它还不是一个充实的产品。

您应该看看。我使用的是Windows版本,但它是基于Java的,我认为它也支持Linux。

允许您使用屏幕截图自动化界面。它可以在任何Java平台上运行,因此它是跨平台的。

我建议该网站寻找替代程序


它显示了AutoIt的三个备选方案:AutoKey、Sikuli和Silktest。似乎能胜任这项工作。

我认为Syngergy+在包括windows和linux在内的大多数平台上都能做到这一点,还有其他一些东西。我想说清楚,我并不反对使用语法定义明确的语言。(我的意思是,我知道AHK经常与新手/noob/非程序员联系在一起,但仅供参考,我对使用C/C++和Java编程非常熟悉)@plod:来自网站:“Synergy+(Synergy plus)允许您在具有不同操作系统的多台计算机之间轻松共享一个鼠标和键盘,而无需特殊硬件。您只需要一个LAN连接。它适用于具有多台计算机的用户,其中每个系统使用自己的显示器。这有点像拥有第二台或第三台桌面……”这就是你所说的Synergy+吗?或者说,还有比这个描述更多的东西吗?因为这听起来和我需要的不一样……是的,它可以做到这一点,但它还允许您创建指向其阵列中的一台计算机的密钥绑定。我曾经使用自动热键来制作多框游戏,过去我见过人们使用Synergy+来实现这一点。我不是100%,这就是为什么我给你留了一条评论作为回答。推荐的应用解决了问题吗?如果是这样的话,你可以考虑批准这个答案。谢谢。我想提醒大家,IronAHK(在我写这篇文章时)已经不再是开源的了。
AutoKey
在处理热键事件方面非常方便,并且有一个很好的GUI界面
pyautogui
可用于图像/像素搜索,
python libxdo
可用于可靠而健壮的窗口操作和按键/鼠标模拟,
zenipy
可用于显示对话框。该页面现在显示19个(如果仅是开源的话,则为12个),顺序为:Sikuli、UI.Vision RPA、AutoKey、Actiona、OldAutoKey、Xdool、TagUI、,组织、重复、CloudQA、iMacros、Testim、T-Plan、atbswp、PhearJS、Quikey、Xnee*、Gentee和Silktest