2011-05-29 96 views
4

我有一个mac应用程序,一旦打开(在awakeFromNib)显示用户带有两个按钮,其中一个带有“Option1”,另一个带有“Option2”的NSAlert。我想自动执行以下流程:AppleScript代码,单击NSAlert中的按钮

  1. 从应用程序文件夹中打开应用程序。
  2. 通过点击NSAlert

按钮,选择“选项2”到目前为止,我已经能够做到的只是第一部分:

tell application "Finder" 
activate 
make new Finder window to startup disk 
open application file "My Application.app" of folder "Applications" of startup disk 
close Finder window 1 
end tell 

任何人可以帮助我的代码?我知道我可以使用系统事件命令来捕获此点击事件,但无法在网上找到任何帮助来单击NSAlert中的按钮,而不是在常规窗口中。

回答

0

你可以试试这个...

tell application "My Application" to activate 

delay 5 

tell application "System Events" 
    tell process "My Application" 
     click button "option 2" of window 1 
    end 
end 
+0

不,对不起,我得到以下错误: 系统事件得到了一个错误:无法获取过程“我的应用”的窗口,1。索引无效。 – MaximD 2011-05-30 08:26:25

+1

那么你能得到什么?它是显示的表单还是窗口?在不知道应用程序的情况下,您必须自己做一些调查。我只是向你展示一个基本的方法。你必须弄清楚按钮是什么类型的东西,然后点击它。如果它是默认按钮(突出显示为蓝色),那么您很幸运,您可以“按键返回”,因为如果它位于最前面,它将按下默认按钮。 – regulus6633 2011-05-30 16:24:25

0

你有没有打开多少个窗户?它可能会变得困惑。

如果您需要程序,UI浏览器通常可以找到适用于GUI脚本的正确术语。我不确定这是值得购买的,但是您可以在演示模式下运行该程序一个月,然后使用它来查找适当的条款。

http://pfiddlesoft.com/uibrowser/