Как стать автором
Обновить

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

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

Публикации

Истории

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

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн