2011-05-29 117 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/