获取列表中项目的属性

时间:2017-10-17 21:54:06

标签: applescript

我想快速创建应用程序菜单栏树中每个菜单项的所有名称列表。

tell application "System Events"
    tell first process where name is "Script Editor"
        set menuContents to entire contents of menu bar 1
        return name of menuContents
    end tell
end tell

此代码抛出错误编号-1728,根据documentation表示以下内容。

  

引用的对象不存在。这是运行时分辨率错误,   例如当试图仅在两个时引用第三个对象时   对象存在。

编辑:

我不完全确定,但似乎问题出现是因为entire contents从他们的来源取消引用UIElements。 UIElements的属性可能被指针引用,这意味着一旦取消引用,UIElements就无法访问它们。

1 个答案:

答案 0 :(得分:0)

您无法使用return name of menuContents,因为在您的代码的上下文中,menuContents列表列表对象< / em>没有name 属性

列表对象属性是:classlengthrestreverse

因此,以下任何一种都是有效的命令

return class of menuContents
return length of menuContents
return rest of menuContents
return reverse of menuContents

列表对象元素是:item

要获取列表中每个name的{​​{1}} 属性,请使用以下示例:

item

list class referenceAppleScript Language Guide