我想快速创建应用程序菜单栏树中每个菜单项的所有名称列表。
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就无法访问它们。
答案 0 :(得分:0)
您无法使用return name of menuContents
,因为在您的代码的上下文中,menuContents
是列表和列表对象< / em>没有name
属性。
列表对象的属性是:class
,length
,rest
和reverse
因此,以下任何一种都是有效的命令:
return class of menuContents
return length of menuContents
return rest of menuContents
return reverse of menuContents
列表对象的元素是:item
要获取列表中每个name
的{{1}} 属性,请使用以下示例:
item