我想输入一个系统对话框(就像大多数OSX应用程序用来加载或保存的那样)。
到目前为止,我无法让这个工作正常...我确实试图运行它,当保存文件的系统对话框打开时:
osascript -e ' tell application "System Events"
keystroke "/tmp/test1.log"
key code 36
end tell'
当我跑这个;什么都没发生;系统对话框视图保持不变,没有输入任何内容。我是否还必须按名称指定视图?我确实假设由于应用程序具有焦点,并且系统对话框具有焦点,我可以输入它。
答案 0 :(得分:0)
这是一个适合我的示例脚本:
tell application "Safari" to activate
tell application "System Events"
tell process "Safari"
keystroke "s" using {command down}
delay 2
keystroke "new file name"
key code 36
end tell
end tell
请注意调用“save”和实际输入之间的延迟 - 您需要确保在开始输入之前对话框完全打开。由于您的脚本在保存时已激活,因此您可以跳过我示例中的keystroke "s"
步骤,然后直接转到delay
。
另请注意,系统事件通知进程执行击键。您需要确保在脚本中定位正确的流程。
最后,您是否已将系统辅助功能设置配置为允许此类脚本交互?
Via Apple为应用启用辅助功能控制: