Синтаксис Applescript уникален, но это неплохо в том смысле, что у вас есть единый язык сценариев для GUI. Это было (и остается) нечто удивительное. Странный sytanx также не так уж странен, когда вы пройдете через определение языка Apple , которое можно найти здесь .
Тем не менее, вам нужно открыть словарь AppleScript каждого приложения, чтобы увидеть, какие типы существительных и глаголов определены.
Думайте о приложении как о библиотеке классов и методов с точки зрения AppleScript. Конечно, вы не можете вызвать метод, который не определен в библиотеке, верно?
Запустите редактор AppleScript, выберите «Файл» → «Открыть словарь» и выберите iTunes. Вы скоро обнаружите, что нет такого существительного, как first responder
определено.
Суть в том, что приложение обычно раскрывает только свою внутреннюю структуру объекта, а не каждый элемент интерфейса. Но обычно этого достаточно.
Если то, что вы хотите сделать, не может быть сделано с использованием надлежащего интерфейса Applescript, который приложение предоставляет в качестве крайней меры, вы можете напрямую манипулировать элементами пользовательского интерфейса, используя вспомогательное приложение под названием «Системные события».
Итак, снова зайдите в Файл → Открыть словарь, на этот раз выберите «Системные события» и проверьте содержимое «Процессов». Это позволяет вам манипулировать пользовательским интерфейсом. Например, чтобы получить список всех элементов пользовательского интерфейса, используйте
tell application "System Events"
tell application process "iTunes"
get UI elements of window 1
end tell
end tell
Веселись! Некоторое время Applescript выглядел для меня ужасно, но когда я узнал, что это не плохо, мне всегда нужно обращаться к словарю.
Mac OS X Automation является отличным источником учебных пособий.