Je ne suis pas sûr que cela soit fait via AppleScript et / ou Automator ... mais j'aimerais pouvoir: P>
a) lancez une application (je sais que cela peut être effectué assez facilement par AppleScript ou Automator) strong> p>
E.g. J'aimerais lancer Excel 2008 (j'ai la maison d'accueil / étudiante qui ne vient pas préconfiguré pour l'automatiseur), puis cliquez sur le menu "Fichier" et cliquez sur "Ouvrir". P>
Tous les pointeurs sur où aller / rechercher comment sélectionner des éléments de menu comme celui-ci (ou si c'est même possible du tout)? P>
Vous pouvez "trier de" faire cela à l'aide de la fonction d'enregistrement de l'automatisteur, mais l'enregistrement est très fragile. P>
Je préférerais pouvoir utiliser AppleScript pour saisir simplement un "tableau" contenant chaque élément de menu de l'application, puis cliquez sur programmatisme sur l'élément de menu 0e dans mon tableau ... etc. c. p>
est-ce possible? P>
TIA P>
5 Réponses :
Je ne sais pas de saisir un tableau, mais cela semble pouvoir fonctionner pour envoyer les clics de la souris, etc: p>
VirtualInput P>
Le script de l'interface utilisateur est une bête fickle. C'est fragile et souvent sensible à de nombreuses choses au-delà de votre contrôle, tels que des dialogues inattendus (d'autres applications), des modifications de la police ou de la langue système, l'activité de l'utilisateur. Sans parler des modifications de l'interface utilisateur d'une application à travers les versions. P>
Il est beaucoup plus robuste d'utiliser parler directement à l'application via son API AppleScript. C'est exactement le but de AppleScript. Vous pouvez toujours voir les actions et les données une application peut fournir via Appscript via l'élément de menu "Open Dictionary ..." dans AppleScript Editor.app (Sélectionnez l'application que vous souhaitez script dans la boîte de dialogue Fichier). Au lieu de simuler un clic de souris sur un menu, vous appelez l'action que l'élément de menu déclenche directement via Appscript. P>
Bien sûr, toutes les applications n'ont pas une API complète (ou même toute) AppleScript. Excel, cependant, a un excellent support AppleScript, si c'est votre cible. P>
Si vous essayez vraiment de faire des tests d'interface utilisateur, je vous recommande de commencer par d'autres options: p>
+1. Si le dictionnaire AppleScript a une commande «ouverte», vous utilisez beaucoup mieux que les scripts d'interface utilisateur. Les scripts de l'interface utilisateur fonctionnent mieux en théorie que tout.
En effet, l'interface utilisateur est fragile et finky, mais vous pourriez jeter un coup d'œil à Apple's page de script de l'interface graphique AppleScript p>
tell application "iTunes" activate end tell tell application "System Events" tell process "iTunes" click menu item "as list" of menu "view" of menu bar 1 end tell end tell
J'ai souvent besoin de créer un script d'interface graphique pour accéder à un élément de menu dans des applications dont la bibliothèque AppleScript ne fournit pas d'accès direct aux objets ou aux fonctions. L'élément de menu représente. Pour faciliter la réutilisation du code, j'utilise des variables pour l'application, le menu et les noms d'éléments de menu. Ensuite, j'ai juste besoin de changer les variables en haut plutôt que de choisir les noms du corps du code.
tell menu item theItem tell menu theSubItem click menu item theSubSubItem end tell end tell
lourd. Pourtant, cela a fonctionné pour moi. donc +1