Как стать автором
Поиск
Написать публикацию
Обновить

Программное нажатие кнопки средствами Applescript

Время на прочтение1 мин
Количество просмотров1.7K
Задача: нажать кнопку в определенном окне. Хорошо, если программа имеет встроенные функции и нажатие кнопки можно командой через 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()
Теги:
Хабы:
Всего голосов 9: ↑8 и ↓1+7
Комментарии6

Публикации

Ближайшие события