Applescript 或 Automator 在晚上表现不同?

Applescript or Automator behaves differently at night?

我有一个简单的 Automator 应用程序可以在午夜启动一个应用程序,然后 automator workflow 在早上 6 点退出。两者都是运行通过日历。启动工作正常。我戒烟有问题,但只在晚上戒烟。

如果我现在 运行 退出脚本,它工作正常。如果我通过将日历设置为从现在开始的几分钟来 运行 脚本,它可以正常工作。但是当设置为早上 6 点时,我早上检查,它不起作用。

我的系统是 Mac Mini macOS Catalina。该应用程序是 Bittorent Web。 Bittorrent Web 启动一个小应用程序,然后启动 Safari。因此,对于我的 'quit' 工作流程,我首先使用 Automator 功能退出 Safari。接下来我使用脚本退出 Bittorrent,因为 Bittorrent 会询问您是否确定要退出。该脚本将 bittorent 带到前面,运行s command-q,然后点击 return。这部分晚上不工作。

机器设置为不休眠。 automator 和 automator 应用程序对 运行 脚本具有完全权限 - 正如我所说,如果我现在 运行 它就可以工作了。所以我迷路了。剧本是;

on run {input, parameters}
  tell application "System Events"
    set frontmost of process "BitTorrent Web" to true
     keystroke "q" using command down
     keystroke return
  end tell
end run

希望这是有道理的。正如我所说,这现在有效,但早上我发现 Safari 已关闭,但 BitTorrent 仍在 运行ning - 没有错误,“你真的想退出吗”对话框也不是他们的.谢谢

更好更可靠的方法是

on run {input, parameters}
  if application "BitTorrent Web" is running then quit application "BitTorrent Web"
end run

或者显式解决进程(进程名称可能不同)

on run {input, parameters}
  activate application “BitTorrent Web”
  tell application "System Events"
     tell process “BitTorrent Web”
         keystroke "q" using command down
         keystroke return
     end tell
  end tell
end run