Я пытаюсь взаимодействовать с диалоговым окном печати через Applescript.
То, что я хочу эмулировать, - это пользователь, устанавливающий значение для определенного раскрывающегося списка.
Скажи, что у меня есть:
tell application "System Events"
tell process "Preview"
set value of pop up button XXX to YYY
end tell
end tell
Откуда мне знать имя XXX? Например, как мне отличить выпадающие списки «принтер» и «пресеты»?
Я открыл инспектор специальных возможностей, но по отображаемой там информации я не могу найти ссылку на имя или какой-либо другой уникальный идентификатор для указанного раскрывающегося списка.
Я видел много людей, использующих числа для обозначения другого выпадающего списка, но я не уверен, что это хорошая практика. Что произойдет, если Apple решит поменять местами порядок двух выпадающих меню?
Любая помощь будет оценена.
ОБНОВЛЕНИЕ :
Используя 10.6.8 и инспектора, как предложено ниже, я получаю следующее:
источник
UI elements
команду здесь полезно , как хорошо: n8henrie.com/2013/03/a-strategy-for-ui-scripting-in-applescriptОтветы:
ОБНОВИТЬ. это будет работать в 10.7.x, но 10.6 имеет информацию о элементах les.
Кнопки (раскрывающиеся списки) на листе печати имеют описание для описания функции.
В инспектор доступности ; Вы видите это, когда наводите указатель мыши на элемент (кнопку). Вы можете заблокировать вид инспектора специальных возможностей с помощью cmd + F7.
Описание будет указано как AXDescription
В случаях для принтеров это принтеры для пресетов это пресеты
Если вы знаете AXDescription, вы можете избежать чисел, используя что-то вроде этого. Но это не единственный способ. Всего один пример.
Чтобы вышеперечисленное работало в этом примере, лист печати должен быть виден вместе с «Показать детали»
Кнопка / выпадающий имеет меню. Таким образом, вы можете выбрать или щелкнуть его, ссылаясь на пункты меню в меню кнопки.
Либо по номеру, либо используя его заголовок / AXTitle.
Вы можете сократить повторяющийся код, используя переменную для кнопки и вызывая ее. Делая это, как мой пример ниже;
источник
Используйте один из сценариев, связанных в этой подсказке Mac OS X, чтобы найти соответствующую форму адреса: Поиск элементов управления и элементов меню для использования в сценариях пользовательского интерфейса AppleScript
IIRC, вам нужно нажать кнопку (cmd in в системных событиях) кнопку всплывающего меню, прежде чем вы сможете выбрать пункт меню из его меню.
источник
Для тех, кто задается вопросом, кажется, что единственное место, где можно найти инспектора доступности в 10.7:
/Applications/Xcode.app/Contents/Applications
источник
Недавно я написал свой рабочий процесс для сценариев пользовательского интерфейса в AppleScript .
Короче говоря, ключевым компонентом, который значительно облегчил мне задачу, было узнать, что
UI Elements
команда в AppleScript возвращает список терминов, которые редактор AppleScript хочет видеть для вызова элементов пользовательского интерфейса. Сопоставьте это с терминами, доступными в Accessibility Inspector (которые часто немного отличаются) для создания работающего скрипта.источник