给定Applescript中的一个对象(即我有一个Object Specifier),我如何找出它具有的所有可访问属性(?)?我不确定properties
是否是正确的词,我的问题的一部分是正确的词汇是什么;我将通过以下示例说明我的意思。
例如:
使用以下对象说明符tell application "System Events" to get process "TextEdit"
,我可以访问它的window
属性(?),例如tell application "System Events" to get window of process "TextEdit"
。 (请注意,window
显然是一个列表。
我想要的是以某种方式查询Object Specifier,它将向我显示对象中可用的内容(属性?),如window
。例如,在Python中,可以使用dir(object_name)
完成此操作。 Applescript中是否有相应的内容?
我尝试了以下两种方法,但这些方法虽然提供了有用的列表,却没有实现目标,因为它们没有像示例中那样返回window
。
tell application "System Events" to get properties of process "TextEdit"
tell application "System Events" to get attributes of process "TextEdit"
我正在寻找类似样式的东西,它会返回window
和其他属性(?),如window
。如何在Applescript代码中调用这样的查询?
此外,window of process "TextEdit"
究竟是什么?是property
吗? attribute
?别的什么?是否有一种简单的方法可以在Applescript编辑器中回答这个问题,例如可能通过解释返回的window
对象的蓝色斜体显示?这种外观对于区分属性,属性等有意义吗? (这里包括'等等,特别是使用正确的词汇,是我的问题的一部分..)
答案 0 :(得分:1)
在AppleScript中
Properties
是 leaf 项目,例如name
,identifier
。Elements
是节点项目,例如attributes
,windows
,documents
。但element
不是标准AppleScript术语的一部分。
如果应用程序是可编写脚本的(TextEdit是),您将获得一个脚本字典来访问应用程序元素和属性。
如果应用程序不是可编写脚本的,您可以通过System Events
访问应用程序流程的 UI属性和元素。
应用程序的AppleScript字典包含有关可用元素,属性,命令/事件,枚举和值类型的所有信息。在脚本编辑器中,按⇧⌘O并选择字典。
更复杂,更昂贵的工具是Script Debugger,它提供了一个术语浏览器。对于专业脚本的开发,它是不可或缺的。