Applescript - 输入系统对话框视图(例如:save,load)

时间:2017-03-15 02:10:54

标签: applescript

我想输入一个系统对话框(就像大多数OSX应用程序用来加载或保存的那样)。

到目前为止,我无法让这个工作正常...我确实试图运行它,当保存文件的系统对话框打开时:

osascript -e ' tell application "System Events"
    keystroke "/tmp/test1.log"
    key code 36
    end tell'

当我跑这个;什么都没发生;系统对话框视图保持不变,没有输入任何内容。我是否还必须按名称指定视图?我确实假设由于应用程序具有焦点,并且系统对话框具有焦点,我可以输入它。

1 个答案:

答案 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为应用启用辅助功能控制:

  1. 启动系统偏好设置,然后点击安全性&隐私。
  2. 单击“隐私”选项卡。
  3. 点击辅助功能。
  4. 单击“添加”按钮(+)。
  5. 选择一个应用并单击“打开”(在本例中为“脚本编辑器”)。
  6. 选择应用左侧的复选框。