【问题标题】:An applescript stopped working after upgrade from snow leopard to lion从雪豹升级到狮子后,AppleScript 停止工作
【发布时间】:2015-01-26 08:05:29
【问题描述】:

这个脚本每次都适用于 Snow Leopard。

tell application "Terminal"
    activate
    do script "cd web_sites/project" in front window   # this line highlighted on error
    do script "mate ." in front window
    do script "rvm 1.8.7" in front window
    do script "script/server" in front window
    delay 4
    do shell script "open -a Firefox http://localhost:3000"
end tell

对于 Lion,我不断收到此错误:

error "Terminal got an error: Can’t get window 1." number -1728 from window 1

谢谢。

【问题讨论】:

  • 您是否尝试过删除行中的“in front window”部分?

标签: applescript


【解决方案1】:

我正在运行 Lion。我可以毫无错误地执行以下操作。在以下任何一种情况下,Applescript 都不会出现错误:1) 应用程序未运行,2) 应用程序正在运行且窗口打开,3) 应用程序正在运行且目录路径无效。在案例 3 中,终端显示错误但 applescript 没有。

tell application "Terminal"
    activate
    do script "cd Development/Images" in front window -- this line highlighted on error
    do script "ls -al" in front window
end tell

所以您的问题与此实际代码无关。

【讨论】:

    【解决方案2】:

    看来问题不在于代码,而在于操作系统运行的速度。正如我之前提到的,代码在 Snow Leopard 中执行得很好。作为补偿,在升级到 Lion 之后,如果我添加另一个延迟以让终端有时间完成激活,并增加打开 Firefox 之前的延迟,一切正常。我的笔记本电脑是配备 2.7 GHz Intel Core i7 处理器的 MacBook Pro。

    tell application "Terminal"
        activate
        delay 1
        do script "cd web_sites/project" in front window   # this line highlighted on error
        do script "mate ." in front window
        do script "rvm 1.8.7" in front window
        do script "script/server" in front window
        delay 5
        do shell script "open -a Firefox http://localhost:3000"
    end tell
    

    【讨论】:

      【解决方案3】:

      如果您只是想让脚本运行一次,那么简单地重试可能会有所帮助。执行速度也是系统其他需求的函数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-19
        相关资源
        最近更新 更多