Lors du scriptage de l'interface utilisateur, pour des éléments tels que les fenêtres et les menus, la hiérarchie des objets n'existe généralement pas tant qu'elle n'est pas affichée, de sorte que l'objet doit être affiché avant d'essayer d'obtenir ses propriétés. Une fois la fenêtre ou le menu affiché, vous pouvez utiliser l'outil Accessibility Inspector (inclus dans le pack Xcode) ou éplucher manuellement les différents éléments de l'interface utilisateur pour trouver ceux que vous recherchez. Il est intéressant de noter que l'action "Watch Me Do" d'Automator est également très pratique pour identifier des éléments spécifiques de l'interface utilisateur (probablement sa meilleure utilisation), car les événements qu'elle enregistre peuvent être copiés/collés dans l'éditeur script.
Pour la fenêtre du centre de notification, la disposition peut varier, car les notifications individuelles ont chacune des boutons de fermeture/suppression, et il peut également y avoir un bouton global de fermeture/suppression pour les notifications regroupées par application, bien qu'elles ne soient pas étiquetées comme telles. Comme le bouton le plus haut est commodément situé au même endroit, pour tout fermer/supprimer, un script peut être utilisé pour cliquer sur cet élément jusqu'à ce qu'il n'y en ait plus (testé dans Mojave et Catalina) :
tell application "System Events"
# show notification window
tell application process "SystemUIServer" to click menu bar item "Notification Center" of menu bar 1
# loop through the app close buttons
tell process "Notification Center" to try
repeat -- forever (at least until there are no more)
delay 0.25
click UI element 2 of UI element 1 of row 2 of table 1 of scroll area 1 of window "Notification Center" -- the topmost close button
end repeat
on error errmess -- no more
log errmess
end try
# close the window
# tell application process "SystemUIServer" to click menu bar item "Notification Center" of menu bar 1
end tell