Включение голосового управления в AppleScript Ventura

Я пытаюсь использовать AppleScript, чтобы нажать переключатель для активации голосового управления в macOS Ventura.

Первый переключатель на этом изображении, где он переключает голосовое управление:

Я попробовал следующий сценарий Apple:

      do shell script "open -b com.apple.systempreferences " & ¬
        "/System/Library/PreferencePanes/UniversalAccessPref.prefPane"

    tell application "System Events"
        tell its application process "System Settings"
            repeat until UI element 4 of group 1 of scroll area 1 of group 1 of ¬
                group 2 of splitter group 1 of group 1 of window "Accessibility" exists
                delay 0.1
        end repeat
        click UI element 1 of group 3 of scroll area 1 of group 1 of group 2 ¬
                of splitter group 1 of group 1 of window "Accessibility"
        repeat until checkbox 3 of group 2 of scroll area 1 of group 1 of group ¬
            2 of splitter group 1 of group 1 of window "Voice Control" exists
            delay 0.1
        end repeat
        click button 5 of group 1 of scroll area 1 of window "Voice Control"
        end tell
    end tell

    tell application "System Settings" to quit

Теперь он открывает страницу голосового управления, как показано на изображении выше. Однако он никогда не нажимает на выключатель.

Я запускаю этот AppleScript в pycharm python с модулем applescript (я не думаю, что это сильно влияет на ситуацию).

2 ответа

Вот рабочий скрипт, объединяющий приведенный выше ответ.

В эту версию добавлена ​​исправленная ссылка на флажок «Голосовое управление», предоставленная (выше) Роном Рейтером. Это работает для меня под macOS Ventura по состоянию на 30 января 2023 г.

      do shell script "open -b com.apple.systempreferences " & ¬
    "/System/Library/PreferencePanes/UniversalAccessPref.prefPane"

tell application "System Events"
    tell its application process "System Settings"
        repeat until UI element 4 of group 1 of scroll area 1 of group 1 of ¬
            group 2 of splitter group 1 of group 1 of window "Accessibility" exists
            delay 0.1
        end repeat
        click UI element 1 of group 3 of scroll area 1 of group 1 of group 2 ¬
            of splitter group 1 of group 1 of window "Accessibility"
        repeat until checkbox "Voice Control" of group 1 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1 of window "Voice Control" exists
            delay 0.1
        end repeat
        click checkbox "Voice Control" of group 1 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1 of window "Voice Control"
        
    end tell
end tell

tell application "System Settings" to quit

Для Ventura ссылка на переключатель голосового управления:

      click checkbox "Voice Control" of group 1 of scroll area 1 of group 1 of group 2 of splitter group 1 of group 1 of window "Voice Control"
Другие вопросы по тегам