Verwenden von AppleScript zum Starten bestimmter Registerkarten in den Systemeinstellungen

Ich bin neu in diesem Bereich und übersehe möglicherweise etwas Einfaches, aber nachdem ich es selbst nicht herausgefunden habe, habe ich versucht, den Anweisungen von grgarsides Lösung für diese Frage zu folgen: https://apple.stackexchange.com/a/250276/ 220050

Was ich versuche zu tun, ist, „Systemeinstellungen > Tastatur > Diktat“ (in Sierra, 10.12.2) mit einem AppleScript zu öffnen, das als eine Anwendung gespeichert ist, die ich über Automator erstellt habe. Ich habe es geschafft, alle anderen Registerkarten im Bereich „Tastatur“ (Tastatur, Text, Verknüpfungen und Eingabequellen) mit ihren Ankern als Teil eines AppleScripts zu öffnen, aber nicht „Diktat“, die fünfte und letzte Registerkarte.

Dies ist mein aktuelles Skript, das „Systemeinstellungen > Tastatur“ öffnet, dann aber ohne Fehlermeldung anhält. (Ich habe jedoch festgestellt, dass es das Suchfeld im Tastaturbereich aktiviert, was nicht der Fall ist, wenn es für die anderen 4 Registerkarten geskriptet ist.)

tell application "System Preferences"
activate
set current pane to pane id "com.apple.preference.keyboard"
reveal anchor "Dictation" of pane id "com.apple.preference.keyboard"
end tell

Irgendein Rat?

Antworten (2)

Folgendes funktioniert bei mir unter macOS Sierra:

tell application "System Preferences"
    activate
    set current pane to pane id "com.apple.preference.keyboard"
    delay 1
    tell application "System Events"
        click radio button "Dictation" of tab group 1 of window "Keyboard" of application process "System Preferences"
    end tell
end tell
Seltsam, dass Sie eine Klickposition für diese Registerkarte angeben müssen, nur um sie zu öffnen, aber nicht für die anderen 4 Registerkarten des Einstellungsbereichs "Tastatur", aber ich nehme es! Ich schätze die Hilfe und ich wünschte nur, ich hätte verstanden, warum es notwendig war (für meine eigene Skript-Problemlösung in der Zukunft). Danke schön.
@NYKg, ich kann Ihnen nicht sagen, warum es reveal anchor "Dictation" of pane id "com.apple.preference.keyboard"nicht wie bei den anderen Ankern in diesem Bereich funktioniert . Bei mir hat es auch nicht funktioniert und warum ich einen alternativen Weg genommen habe, der manchmal das ist, was man tun muss, um die Arbeit zu erledigen. :)

Ich wollte so etwas für die Registerkarte „Anordnung“ des Anzeigebereichs tun. Leider haben diese Namen die Angewohnheit, sich von Zeit zu Zeit zu ändern, aber im Moment funktioniert dies unter Big Sur ausschließlich mit dem Wörterbuch der Systemeinstellungen und ohne Notwendigkeit für Systemereignisse:

tell application "System Preferences"
    activate
    set current pane to pane id "com.apple.preference.keyboard"
    tell current pane to reveal anchor "Dictation"
end tell

Wenn Sie eine andere Registerkarte benötigen (nicht alle sind ganz intuitiv benannt), können Sie dies ausführen, um eine Liste aller Registerkarten in dem Bereich zu erhalten, an dem Sie interessiert sind. z. B. für den Anzeigebereich:

tell application "System Preferences"
    activate
    set current pane to pane id "com.apple.preference.displays"
    anchors of current pane
end tell

Im Ergebnisbereich des AppleScript Editor-Fensters sehen Sie etwa Folgendes:

{Anker „displaysDisplayTab“ der Fenster-ID „com.apple.preference.displays“ der Anwendung „Systemeinstellungen“, Anker „displaysNightShiftTab“ der Fenster-ID „com.apple.preference.displays“ der Anwendung „Systemeinstellungen“, Anker „displaysArrangementTab " der Bereichs-ID "com.apple.preference.displays" der Anwendung "Systemeinstellungen", Anker "displaysColorTab" der Bereichs-ID "com.apple.preference.displays" der Anwendung "Systemeinstellungen", Anker "displaysGeometryTab" der Bereichs-ID "com.apple.preference.displays" der Anwendung "Systemeinstellungen"}

In meinem Fall lautet der Ankername für die Registerkarte Anordnung also displaysArrangementTab.