0

UIスクリプトを使用してAppleScriptでiTunesのスクリプトを作成しています。何をしているのかによって、iTunesの通知が表示され、その時点で処理する必要があります。ウィンドウの名前はAXWindow: ""であり、それを処理するためにapplescriptを取得するためにシームすることはできません。リテラル「」を使用してみました。変数を「」に定義してみました。エスケープ文字を使用して両方のケースを試し、最前列のプロセスの名前を取得してみました。

tell application "System Events"
     set processName to name of front window
end tell
tell button "whatever" of window processName
     click
end tell

しかし、それは「エラー「システムイベントにエラーが発生しました:ウィンドウ1を取得できません。無効なインデックス」」が発生します。これに関するヘルプをいただければ幸いです。

4

2 に答える 2

0

あなたはこのようなことをすることができます:

tell application "iTunes" to activate
tell application "System Events"
    tell process "iTunes"
        set xxx to first UI element whose role description is "dialog"
    end tell
end tell

またはそれらすべてを見つけるには:

tell application "iTunes" to activate
tell application "System Events"
    tell process "iTunes"
        set xxx to every UI element
    end tell
end tell
于 2012-06-12T15:19:06.493 に答える
0

通常、通知またはユーザーダイアログは最前面のウィンドウとして表示され、ユーザー(またはスクリプト)が何かをクリックするまで、同じアプリケーションの他のウィンドウの上に表示されたままになります。

したがって、ダイアログウィンドウ(存在する場合)には、指定子を介してアクセスできる必要がありますwindow 1。次に、そのプロパティを読み取ることで、それが本当に関心のあるウィンドウであるかどうかをさらに確認できます。

tell application "System Events" to tell application process "iTunes"
  properties of window 1
end tell
于 2012-06-12T15:08:07.113 に答える