AppleScript UI脚本一般来说速度很慢,还是我的脚本或其他东西?

时间:2013-05-03 18:21:22

标签: applescript

我是AppleScript的新手,我只是潜入UI脚本。我正在尝试为程序TypeIt4Me创建一个脚本,这是一个没有AppleScript支持的菜单栏实用程序(文本扩展)。

我建议的脚本将使用系统事件单击其菜单栏图标,键入五次,右键一次,然后返回。但是,AppleScript在单击图标和执行第一次击键之间会暂停很长时间,以至于这对于脚本来说是不切实际的。下面是第一次点击和一次按下的版本。

tell application "System Events"

click menu bar item 1 of menu bar 2 of application process "TypeIt4Me"
key code 125 -- ie "down"

end tell

这可能是我的代码有问题吗?某处设置? AppleScript一般吗?感谢。

2 个答案:

答案 0 :(得分:2)

您的脚本也需要大约5秒钟才能运行。这种延迟虽然不常见。

这使得脚本在大约0.05秒后返回,但我无法弄清楚如何在没有延迟的情况下运行密钥代码命令。

ignoring application responses
    tell application "System Events" to tell process "TypeIt4Me"
        click menu bar item 1 of menu bar 2
    end tell
end ignoring

这也不起作用:

with timeout of 0.2 seconds
    try
        tell application "System Events" to tell process "TypeIt4Me"
            click menu bar item 1 of menu bar 2
        end tell
    end try
end timeout
tell application "System Events"
    key code 125
end tell

在命令之间终止系统事件确实有效:

ignoring application responses
    tell application "System Events" to tell process "TypeIt4Me"
        click menu bar item 1 of menu bar 2
    end tell
end ignoring
do shell script "killall System\\ Events"
delay 0.1
tell application "System Events"
    key code 125
end tell

答案 1 :(得分:0)

您点击了什么图标?你的意思是双击吗?也许你的意思是“启动剧本”? 如果您的意思是您的脚本实际开始运行需要很长时间,这是典型的AppleScript,并不是由您的脚本引起的。如果TypeIt4Me可以运行应用程序而不是脚本,或者如果编译和运行脚本作为应用程序是一个选项,您应该能够加快它的速度。它仍然需要一些时间来启动,但脚本不需要先编译。