アクセシビリティインスペクター(またはその他のツール)を使用してUI要素の名前を知る方法


21

Applescriptを介して印刷ダイアログを操作しようとしています。

エミュレートしたいのは、ユーザーが特定のドロップダウンに値を設定することです。

私が持っていると言います:

tell application "System Events"
  tell process "Preview"
    set value of pop up button XXX to YYY
  end tell
end tell

XXXという名前を知るにはどうすればよいですか?たとえば、「プリンター」ドロップダウンと「プリセット」ドロップダウンをどのように区別しますか?

アクセシビリティインスペクターを開きましたが、そこに表示される情報から、指定されたドロップダウンの名前または他の一意の識別子への参照を見つけることができません。

多くの人々が異なるドロップダウンを参照するために数字を使用しているのを見てきましたが、これが良い習慣かどうかはわかりません。Appleが、ある時点で2つのドロップダウンの順序を入れ替えることにした場合はどうなりますか?

任意の助けをいただければ幸いです。

更新

10.6.8とインスペクターを以下に示すように使用すると、次のものが得られます。

ここに画像の説明を入力してください


私が見つかりましたUI elements:ここにも役立つからコマンドをn8henrie.com/2013/03/a-strategy-for-ui-scripting-in-applescript
PHS

ここでは、別のページへのリンクです異なる尋ねると呼ばれる、現在のページにリンクされています:AppleScriptのは-どのように私はアクセシビリティインスペクタを経由して『推測』することなく、プログラムによってUI要素の名前、属性、プロパティ、クラスを得ることができますか?(ここのこの質問は、「ハウツー」に関するいくつかの基本的な事実を学びたい理由でした…)
clemsam lang

回答:


15

更新。これは10.7.xで機能しますが、10.6にはles要素情報があります。

印刷シートのボタン(ドロップダウン)には、機能を説明する説明があります。

アクセシビリティインスペクタ。これは、要素(ボタン)の上にマウスを置くと表示されます。cmd + F7でアクセシビリティインスペクターのビューをロックできます 。

説明はAXDescriptionとしてリストされます。

ここに画像の説明を入力してください

プリンタの例ではそのはあるプリンタプリセットのためにそれがあるプリセット

AXDescriptionがわかっている場合は、このようなものを使用して数字を回避できます。しかし、これが唯一の方法ではありません。ほんの一例です。

activate application "Preview"
tell application "System Events"
    tell process "Preview"
        click ((pop up buttons of sheet 1 of window 1) whose description is "Printers")
    end tell
end tell

この例で上記が機能するには、「詳細を表示」とともに印刷シートが表示されている必要があります

ボタン/ドロップダウンにはメニューがあります。だから、あなたはを参照して、それを選択するか、クリックできるメニュー項目メニューボタンの。

番号またはタイトル/ AXTitleを使用して。

activate application "Preview"
    tell application "System Events"
        tell process "Preview"
            click ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

click menu item "Last Used Settings" of menu of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")
        end tell
    end tell

ボタンに変数を使用して呼び出すことで、繰り返しコードを短縮できます。以下の私の例のようにそれを行うとき;

   activate application "Preview"
tell application "System Events"
    tell process "Preview"
        set Presets_button to item 1 of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

        click Presets_button
        click menu item "Last Used Settings" of menu of Presets_button
    end tell
end tell

5

このMac OS Xヒントにリンクされているスクリプトのいずれかを使用して、適切な形式のアドレスを見つけます 。AppleScriptユーザーインターフェイススクリプトで使用するコントロールおよびメニュー項目を見つける

IIRCでは、メニューからメニュー項目を選択する前に、ポップアップメニューボタンをクリックする必要があります(cmdはシステムイベントにあります)。


4

不思議に思う人のために、10.7でアクセシビリティインスペクターを見つける場所の1つは次のように思われます。

/Applications/Xcode.app/Contents/Applications


1

最近、Apple ScriptでUIスクリプトのワークフローを作成します

要するに、UI ElementsAppleScript のコマンドがUI要素を呼び出すためにAppleScriptエディターが表示たい用語のリストを返すことを、私にとって非常に簡単になった重要なコンポーネントは知っていました。これをAccessibility Inspectorに見られる用語(多くの場合わずかに異なる)と結び付けて、作業スクリプトを作成します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.