【问题标题】:How to use Automator to bring window to front?如何使用 Automator 将窗口置于前面?
【发布时间】:2010-02-14 21:25:07
【问题描述】:

我使用的是 Mac、OSX 10.6,并且我在桌面应用程序中有一个想要自动化的功能。手动按 Command+R 等待应用程序从物理设备读取一些数据 1 分钟,然后再次按 command+R 进行另一次读取(此时它询问我是否要保存数据,所以我按tab,tab,然后空格键选择保存数据。我一共做了3次,所以我想自动化3次,所以我可以离开电脑,它会自动读取3次。

自动化是最好的方法吗?

我已经尝试通过使用“看我做”功能在 automator 中执行此操作。这从“将未命名的窗口置于前面”开始,然后第二个命令是按 command+R。然后我找到了一小段苹果脚本等待 1 分钟,然后我将第一个动作插入到等待函数中。

但是,当我单击运行或步骤时,不是去打开正确的窗口(“无标题”),而是光标移动到 automator 中的媒体按钮,然后单击它!但该应用程序肯定被列为正确的应用程序。

任何帮助表示赞赏,但也许 automator 是错误的方法?

【问题讨论】:

    标签: macos automator


    【解决方案1】:

    Apple Script 是处理不需要任何“特殊处理”而需要由一系列不同应用程序完成的事情的最佳方式。

    1) 使用 AppleScript 实用程序 确保在“AppleScript Utility”中启用了 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 文件夹中的脚本,或将其粘贴到自动化工作流程中并使用 iCal 进行安排。

    【讨论】:

    • (确保将“延迟”值更改为等待的秒数......并将“Firefox”更改为您的应用名称)
    【解决方案2】:

    我不认为自动化是要走的路。你可以使用applescript,但你应该看看sikuli。您需要自己编写 Sikuli 脚本,但您描述的内容应该不难

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-04
      • 2012-10-08
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2017-12-02
      相关资源
      最近更新 更多