如何使用Automator将窗口置于前台?

5
我正在使用Mac,OSX 10.6,并且我有一个桌面应用程序中的功能需要自动化。手动地按下Command+R键等待应用程序从物理设备读取数据1分钟,然后再次按下command+R键以进行另一次读取(此时它会询问我是否要保存数据,因此我按tab、tab和空格键选择保存数据)。我总共这样做了3次,所以我想自动化这3次,这样我就可以离开电脑让它自动读取3次。
Automator是最好的方法吗?
我已经尝试在Automator中使用“观察我操作”的功能来完成这个任务。它首先是“将窗口Untitled带到前面”,然后第二个命令是按下command+R键。然后我找到了一个小的苹果脚本来等待1分钟,我把第一个动作插入到等待函数中。
然而,当我点击运行或步骤时,光标不是去打开正确的窗口(“Untitled”),而是移动到Automator中的媒体按钮,并点击它!但是该应用程序肯定被列为正确的应用程序。
任何帮助都将不胜感激,但也许Automator不是正确的方法?
2个回答

5

Apple Script是处理不需要通过一系列不同应用程序完成的“特殊处理”的最佳方式。

1)使用AppleScript实用程序,请确保在“AppleScript实用程序”中启用了GUI脚本。 2)使用脚本编辑器选择文件>打开库,查看您的应用程序是否具有可脚本化的功能……这可能是更好的选择。

3)创建一个新脚本,并输入以下内容……

tell application "Firefox"
    activate
    delay 1 -- give it time to react

    repeat 3 times
        -- this gives us the keyboard
        tell application "System Events" 
            keystroke "r" using {command down}
        end tell
        delay 6
    end repeat
end tell

我用 Firefox 进行了测试,应该对你也能起作用。

获得脚本后,你可以使用“另存为”将其制作成应用程序,或将其保存为 ~/Library/Scripts 文件夹中的脚本,或将其粘贴到 Automator 工作流中,并使用 iCal 安排计划。


(确保将“延迟”值更改为等待的秒数...并将“Firefox”更改为您的应用程序名称) - Andrew Neelands

1

我认为自动化工具不是最佳选择。你可以使用AppleScript,但你应该看看sikuli。你需要自己编写Sikuli脚本,但你所描述的应该不难。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接