约塞米蒂的击键动作往往非常缓慢

时间:2014-10-25 22:42:43

标签: macos applescript osx-yosemite keystroke systemevent

我在Mac OS X 10.10(Yosemite)上使用applescript。我注意到击键动作往往比10.9慢得多。

下面是我的AppleScript,告诉终端输入" cd my current path in Finder"然后按return

tell application "Finder"
    try
        set currentFolder to (folder of the front window)
        set currentPath to (POSIX path of (target of the front window as alias))
    on error
        set currentFolder to desktop
        set currentPath to (POSIX path of (desktop as alias))
    end try
end tell

tell application "Terminal"
    activate
    delay 0.5
    tell application "System Events"
        set cdtocurrentPath to "cd \"" & currentPath & "\"" as string
        keystroke cdtocurrentPath
        keystroke return
    end tell
end tell

以前,在OS X 10.9中,用于输入当前路径的击键非常快(对于长字符串,小于1秒)。然而,在10.10中,它往往非常慢(通常超过3-4s),这样我就能清楚地看到输入的字母。

此外,System Events中的其他操作也比10.9慢,因此我必须增加delay使其正常工作的时间。

有人可以解释一下吗?或者提供替代解决方案?谢谢!

1 个答案:

答案 0 :(得分:0)

我在10.10的脚本编辑器中对它进行了测试,并且运行时间不到1秒。必须有其他一些问题。

使用do script命令可能会有所帮助:

tell application "Terminal" to do script "cd \"" & currentPath & "\""