2 votes

Applescript : "Impossible d'obtenir le groupe 1 de la fenêtre \"Control Center\" du processus d'application \"ControlCenter\". Indice invalide."

tell application "System Events"
    tell its application process "ControlCenter"
        tell its menu bar 1
            click its menu bar item "User"
        end tell

        tell its window "Control Center"
            tell its group 1
                set btns to its buttons
                repeat with btn in btns
                    if name of btn = "BrilliantCorners" then
                        click btn
                    end if
                end repeat
            end tell
        end tell

        delay 1
        set thePassword to "mypassword" -- Mac user password
        tell application "System Events"
            tell process "SecurityAgent"
                set value of text field 1 of window "Login" to thePassword
                key code 36
            end tell
        end tell

    end tell
end tell

erreur "System Events got an error : Can't get group 1 of window "Control Center" of application process "ControlCenter". Invalid index." numéro -1719 du groupe 1 de la fenêtre "Centre de contrôle" du processus d'application "Centre de contrôle".

Ce script fonctionnait très bien avant la mise à jour vers Monterey, maintenant il se bloque pour une raison que je n'arrive pas à comprendre. Une idée ?

0 votes

Il se bloque parce que vous essayez d'adresser un objet invalide avec le GUI Scripting. Vous allez devoir redévelopper votre script et déterminer la nouvelle référence pour le(s) objet(s). Le script GUI est fragile, vous n'avez aucune garantie que, même d'une version mineure à l'autre, les références des objets ne changent pas.

1 votes

Avez-vous des recommandations sur la manière de déterminer la nouvelle référence de l'objet, ou sur l'endroit où commencer à chercher ? Je suis novice en matière de script et j'essaie d'apprendre comment cela fonctionne. Ce script est quelque chose que j'ai assemblé à partir de quelques script similaires que j'ai trouvés en ligne - si Monterey changeait la référence de l'objet et que je devais trouver comment incorporer cette nouvelle référence dans le script... eh bien, je ne saurais même pas où commencer à chercher. Toute aide serait très appréciée.

0voto

user3439894 Points 52496

En MacOS Monterey à l'aide de l'outil AppleScript code dans votre question, j'ai pu le faire fonctionner en supprimant le tell its group 1 déclaration et sa fermeture end tell déclaration , par exemple :

tell application "System Events"
    tell its application process "ControlCenter"
        tell its menu bar 1
            click its menu bar item "User"
        end tell

        tell its window "Control Center"
                set btns to its buttons
                repeat with btn in btns
                    if name of btn = "BrilliantCorners" then
                        click btn
                    end if
                end repeat
        end tell 

Notes :

Les AppleScript code La présente fiche n'est qu'un exemple. extrait de l'original code et ne montre pas le reste du travail code tel qu'il a été testé.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X