Задача: нажать кнопку в определенном окне. Хорошо, если программа имеет встроенные функции и нажатие кнопки можно командой через AppleScript. Но если нам надо нажать кнопку в неизвестном окне, например в системных настройках? Ниже будет показано, как это сделать.

Для того, чтобы имитировать нажатие кнопки через AppleScript, необходимо проверить, включены ли элементы пользо��ательского интерфейса, проще говоря, разрешит ли система вам это сделать.
MacOS очень интересно именует различные элементы управления, а именно: Button 1, Text Field 2 и так далее. То есть, окно представляется некоторым массивом элементов графического интерфейса, причем у каждого класса своя нумерация.

Теперь приступим непосредственно к нажатию. Подопытным кроликом для нас будет кнопка включения Bluetooth в системных настройках. Ниже приведен исходный текст скрипта. Он достаточно простой с учетом коментариев выше.

on turnBluetooth()
tell application "System Preferences"
activate
set current pane to pane "Bluetooth"
--enabling bluetooth
tell application "System Events"
if UI elements enabled then
tell tab group 1 of window "Bluetooth" of process "System Preferences"
click button 1
end tell
end if
end tell
end tell

tell application "System Preferences" to quit
end turnBluetooth


Данную функцию (turnBluetooth()) можно вызвать в любом месте вашего скрипта, написав:

my turnBluetooth()