AppleScript 的列表数据类型对布尔测试说明符的支持非常有限。除了按范围选择项目(使用item关键字),指定一个类也可以:
get every «class furl» of {1, "Test", (POSIX file "/posix/path")} --> {file ":hfs:path"}
当列表项是引用时,使用 content关键字取消引用将起作用:
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
对象的引用列表,并且其中至少有一个是类文本区域?
注意我不是在寻找如何从列表中检索特定类型的所有 UI 元素的建议(repeat
循环会这样做)——我想了解为什么选择器模式在这种特定情况下会失败。