2017-02-25 35 views
0

給定一個Applescript中的對象(即我有一個Object Specifier對象),如何找出它具有的所有可訪問屬性(?)是什麼?我不確定properties在這裏是正確的詞,我的問題的一部分是正確的詞彙是什麼;我會用下面的例子來說明我的意思。如何瀏覽給定對象的Applescript對象「DOM」?

例如:

使用下面的對象說明符,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 Editor中是否有一種簡單的方法來回答這個問題,例如通過解釋返回的window對象的藍色斜體顯示?這個外觀是否有區分屬性,屬性等的意義? (什麼是 '等' 包括在這裏,特別是並用正確的詞彙,是我的問題的一部分。)

回答

1

在AppleScript的

  • Properties項目,如nameidentifier
  • Elements節點項目類似attributes,windows,documents

但是element不是標準AppleScript術語的一部分。

如果應用程序是可腳本化的(哪個TextEdit是),您將獲得一個腳本字典以訪問應用程序元素和屬性

如果應用程序無法編寫腳本,則可以通過System Events訪問應用程序進程的UI屬性和元素

應用程序的AppleScript字典包含有關可用元素,屬性,命令/事件,枚舉和值類型的所有信息。在腳本編輯器中按⇧⌘O並選擇字典。

一個更復雜和昂貴的工具是Script Debugger,它提供了一個術語瀏覽器。對於開發專業腳本來說它是不可或缺的。

+0

腳本調試器值得每一分錢。 – adayzdone