如何从 bash 脚本在 Safari 等程序中注入击键?

如何从 bash 脚本在 Safari 等程序中注入击键?

我正在尝试每隔几分钟自动执行一些按键操作。确切的时间尚未确定。但基本上我想捕捉实时聊天对话。我确信我可以做得更优雅。我不太了解 html、javascript 或 php 等。我知道一点 Bash 和一点 AppleScript。

osascript -e 'tell app "Safari" to activate'
osascript -e 'set Script to "keystroke \"a\" using command down"'
osascript -e do Script

这将继续进行并激活 TextEdit 并粘贴到那里。但我还没有超越这一点。这导致:语法错误:无法将脚本设置为“使用命令 down 击键\”a\”。不允许访问。 (-10003)

更改ScriptmyScript,我得到:使用向下命令击键“a”

但这两种方法仍然会导致:执行错误:变量do未定义。 (-2753)

它调用的事实“做”一个变量让我头晕。

我考虑过使用该expect程序。我知道我可以跑过去expect说类似的话send \n换一条新线路之类的话。然而,这就是我所知道的全部。我找不到太多关于如何发送修饰键的文档,例如Cmd-A。只要最终结果有效,是否有效expect并不重要。osascript

我想以某种方式摆脱全选步骤,因为它选择要复制的整个网页而不仅仅是聊天框。任何帮助将非常感激。

答案1

试试这个:

osascript -e 'tell Application "Safari" to activate'
osascript -e 'tell application "System Events"' -e 'keystroke "a" using command down' -e 'end tell'

相关内容