0

有没有一种简单的方法可以找到引用的父元素引用?

例如,假设我有以下参考:

ref = app("System Events").processes["Safari"].windows[1].buttons[1]

我想做类似于以下的事情:

ref.parent  # => app("System Events").processes["Safari"].windows[1].buttons

甚至:

ref.parent  # => app("System Events").processes["Safari"].windows[1]

我查看了文档和指南,但没有成功。我还通过猴子修补 Appscript::Reference 类并添加我自己的方法尝试了一个很大的禁忌,但它开始以难以解决的方式破坏我的规范。我也考虑过使用 eval 但这似乎是一个更糟糕的主意。有什么想法吗?

4

1 回答 1

0

下巴挠了一阵后,我想我可能有一个解决方案:

ref = app("System Events").processes["Safari"].windows[1].buttons[1]
ref.attributes[its.name.eq("AXParent")].value.get

退货

[app("/System/Library/CoreServices/System Events.app").application_processes["Safari"].windows["rb-appscript: Accessing parent reference? - Stack Overflow"]]

是那种东西吗?

伊恩

于 2011-04-20T08:02:17.140 回答