Как получить свойства UI_element с помощью appscript

Я хочу написать код в appscript.rb, эквивалентный Applescript:

tell App "TextEdit"
    properties of front window
end tell

Пытающийся

te =  app("TextEdit")
puts        te.windows[1].properties

возвращает список имен свойств, но не значение.

Спасибо за ответ.


person Claude Cherton    schedule 18.02.2012    source источник


Ответы (1)


Ruby Appscript, эквивалентный ссылке AppleScript properties, имеет завершающее подчеркивание: properties_. Вам также нужно будет использовать get для выполнения запроса:

te = Appscript.app('TextEdit')
te.windows.first.properties_.get

Результатом последнего выражения будет экземпляр класса Ruby Hash.


В заголовке вашего вопроса упоминается UI_element, что может указывать на то, что вас интересуют UI elements объекты, доступные в разделе Системные события.

se = Appscript.app('System Events')
teap = se.application_processes['TextEdit']

# properties of frontmost UI element window
teap.windows.first.properties_.get

# properties of first-level UI elements of frontmost UI element window 
teap.windows.first.UI_elements.properties_.get
person Chris Johnsen    schedule 19.02.2012