Использование AppleScript для нажатия кнопки «плюс» (+) в окне настроек - PullRequest
1 голос
/ 26 октября 2011

Используя AppleScript, я хотел бы автоматизировать создание новых учетных записей пользователей на нескольких машинах.Я пытаюсь использовать сценарии пользовательского интерфейса и не могу выполнить команду щелчка по кнопке «Добавить учетную запись» (+) в окне настроек учетных записей iChat.Я пытался использовать Accessibility Inspector.app для определения имени кнопки, но все еще не могу получить к нему доступ через AppleScript.

В соответствии с Accessibility Inspector.app кнопка имеет следующие атрибуты:

AXRole: AXButton
AXRoleDescription: button
AXHelp: <nil>
AXEnabled: YES
AXFocused (W): NO
AXParent: <AXGroup>
AXWindow: <AXWindow:AXStandardWindow>
AXTopLevelUIElement: <AXWindow:AXStandardWindow>
AXPosition: x=225.00 y=462.00
AXSize: w=23.00 h=22.00
AXTitle: <empty string>
AXIdentifier: _NS:27
AXDescription: Add Account

Вот пример начального AppleScript, который выведет вас в окно настроек учетных записей:

tell application "iChat"
    activate
    tell application "System Events"
        tell process "iChat"
            tell menu bar 1
                click menu item "Preferences…" of menu "iChat"
            end tell
            click button "Accounts" of tool bar 1 of window 1
            click button "Add Account" of window "Accounts"
        end tell
    end tell
end tell

Обратите внимание, что строка 9 - это то, что я пытаюсь заставить работать.Ниже вы найдете ссылку на скриншот окна настройки учетных записей iChat со стрелкой, указывающей на кнопку, к которой я пытаюсь получить доступ.Также обратите внимание, что я знаю, что могу просто использовать «вкладку нажатия клавиш», чтобы перейти к кнопке (+), но это не всегда будет работать, так как количество нажатий на вкладку зависит от типа учетных записей, которые вы уже создали вiChat.

Окно настроек учетной записи iChat

1 Ответ

2 голосов
/ 26 октября 2011

Не каждый объект пользовательского интерфейса имеет заголовок, поэтому в этих случаях вы можете просто использовать номер элемента - обратите внимание, что вам необходимо включить всю иерархию, отображаемую в окне инспектора.

tell application "iChat"
    activate
    tell application "System Events"
        tell process "iChat"
            tell menu bar 1 to click menu item "Preferences…" of menu "iChat"
            delay 0.5
            tell window 1
                click button "Accounts" of tool bar 1
                delay 0.5
                click button 1 of group 1 of group 1
            end tell
        end tell
    end tell
end tell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...