AppleScriptのリストデータ型は、ブールテスト指定子のサポートが非常に限られています。( itemキーワードを使用して)範囲でアイテムを選択する以外に、クラスを指定すると機能します。
get every «class furl» of {1, "Test", (POSIX file "/posix/path")} --> {file ":hfs:path"}
リストアイテムが参照である場合、contentsキーワードによる逆参照が機能します。
get every «class furl» of {1, "Test", a reference to (POSIX file "/posix/path")} --> {}
get every «class furl» of contents of {1, "Test", a reference to (POSIX file "/posix/path")} --> {file ":hfs:path"}
では、なぜ次のコードがallTextAreas
空のリストに設定されるのでしょうか。
tell application "System Events"
set allUIElements to entire contents of window 1 of someApplication
set allTextAreas to every text area of contents of allUIElements --> {}
end tell
それがUI要素allUIElements
オブジェクトへの参照のリストであり、それらの少なくとも1つがクラステキスト領域のものであるとすると?
リストから特定のタイプのすべてのUI要素を取得する方法の提案を探しているわけではないことに注意してください(repeat
ループがそれを行います)–この特定のケースでセレクターパターンが失敗する理由を理解したいと思います。