【问题标题】:Running applescript with timer使用计时器运行 AppleScript
【发布时间】:2015-09-17 14:14:28
【问题描述】:

我正在尝试运行一个applescript。脚本的内容并不重要,但我想按时间间隔运行它,直到满足某个条件。例如,我想点击 Safari 浏览器中的菜单项(如果可用):

我要运行的applescript:

on menuClick()
  tell application "System Events"
    tell process "Safari"
      click menu item "Simulator" of menu 1 of menu bar item "Develop" of menu bar 1
    end tell
  end tell
end menuClick

我希望脚本如何运行的伪代码(对不起,我对applescript的了解有限):

try
  menuClick()
catch
  run menuClick after 1s

Applescript 中的伪代码是什么样子的?

【问题讨论】:

    标签: macos applescript


    【解决方案1】:

    如果您想定期运行 applescript,请使用“空闲”处理程序:

    On idle
    -- do this and this / add you code
    return xxx
    end idle
    

    您运行您的代码,它将永远运行(除非您的代码包含退出命令)。返回后的 xxx 值是下一次运行前的秒数(正数!)。在您的代码中,您可以检查应用程序当前状态或任何其他内容。 如果还不够,你可以使用 launchd 方法(se Apple launchd)。

    【讨论】:

    • 那行不通。但是我玩了“尝试,出错,结束尝试”块,这似乎有效。除了当我尝试在on error 中再次调用menuClick 时,我需要以某种方式避免堆栈溢出(不是这个站点:P)
    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 2012-09-20
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 2013-05-07
    相关资源
    最近更新 更多