Apple的《 Javascript自动化发行说明》提供了一个使用任意objectSpecifier搜索数组的示例。
firstTabsName = ObjectSpecifier.tabs[0].name
app.windows.whose({_match: [firstTabsName, 'Apple']})
但是,第一行会引发错误。 “ TypeError:未定义不是对象(正在评估'ObjectSpecifier.tabs')
我究竟做错了什么?谢谢您的帮助!
最佳答案
第一行在firstTabsName = ObjectSpecifier.tabs
处爆炸,返回missing value
。超过这一点的任何事情都不会成功。
您发布的代码似乎来自Apple发行说明,该代码缺少“ ObjectSpecifier”之后的空的一组parens,以及who语句之后的另一组。当您添加这些括号时,ObjectSpecifier的构造函数称为AND,其最终标识符被解析为匹配窗口的列表。因此,更正后的代码为:
app = Application('Safari')
firstTabsName = ObjectSpecifier().tabs[0].name // added parens
app.windows.whose({_match: [firstTabsName, "Apple"]})() // added parens
// --> [Application("Safari").windows.byId(9016)]