Come utilizzare Scripting dell'interfaccia utente di Applescript su Mac

Come utilizzare Scripting dell'interfaccia utente di Applescript su Mac / Mac

Se sei un fan dell'utilizzo di Mac OSX Applescript, hai probabilmente notato alcune limitazioni. Vale a dire, non tutti i programmi possono essere manipolati direttamente con Applescript. Tuttavia, puoi utilizzare lo scripting dell'interfaccia utente (UI) di Applescript per colmare le lacune se sai come.

È possibile utilizzare Applescript per controllare l'interfaccia utente di quasi tutti i programmi sul tuo Mac. A volte è un po 'difficile, ma è davvero possibile farlo. Ti mostrerò le basi su come farlo da solo e ti guiderò attraverso un semplice script usando queste tecniche.

Spazzolare in primo piano su Basic Applescript

Se sei nuovo in Applescript o non l'hai guardato per un po ', rispondi Scopri come automatizzare il tuo Mac con AppleScript [Parte 1: Introduzione] Imparare ad automatizzare il tuo Mac con AppleScript [Parte 1: Introduzione] Ulteriori informazioni sul tuo Mac Conoscenza di Applescript 6 Risorse per principianti per l'apprendimento della programmazione con Mac 6 Risorse per principianti per l'apprendimento della programmazione con Mac Leggi di più prima di leggere questa guida.

Aggiungerò degli screenshot che coprono il più possibile, ma questo articolo tratta dei dettagli più fini, non di base su Applescript (che abbiamo già trattato).

Abilita Script UI

Prima di poter utilizzare lo scripting dell'interfaccia utente, vai a Preferenze di sistema, accesso universale e seleziona la casella a abilitare l'accesso per i dispositivi di assistenza.

Utilizzando i tratti chiave

Il modo più semplice per interagire con l'interfaccia utente di un programma con Applescript è simulare l'immissione di sequenze di tasti, come se si stessero utilizzando le scorciatoie Mac e si digitassero i comandi.

Ad esempio, in TextEdit potresti voler fare una ricerca di ricerca e sostituzione. Probabilmente sai già che puoi digitare CMD-F per Trova / Sostituisci, digitare il termine di ricerca, premere il tasto tab per passare al campo successivo, digitare il termine di sostituzione e poi premere “Sostituisci tutto” per sostituire il testo.

In Applescript, puoi anche dire all'interfaccia utente di digitare questi comandi. Comuniceresti CMD-F con il comando battitura “f” usando command down con Applescript. Inoltre, il modo per eseguire CMD-SHIFT-S è battitura “S” usando command down, shift down. Puoi anche digitare nell'interfaccia utente con Applescript utilizzando battitura “MyText”, dove il tuo testo è inserito tra le virgolette. Infine, puoi digitare alcuni semplici tratti chiave come TAB come questo: scheda di battitura.

Prima di usare il comando della sequenza di tasti, è necessario assicurarsi che la classe di processo sia invocata (e non dimenticare di terminare quelli che indicano i comandi più tardi).

dire domanda “Eventi di sistema”
dire processo “TextEdit”

Vedere lo screenshot per i comandi completi per questa azione di ricerca / sostituzione di base in sequenza.

Fare clic sui pulsanti

Quando il tuo programma ha un numero di pulsanti tra cui scegliere, normalmente puoi usare un semplice comando di Applescript per controllarli. Nel caso della ricerca / sostituzione potresti voler fare clic “Sostituisci tutto”. Il comando per questo è fare clic sul pulsante “Sostituisci tutto”.

Manipolazione più complessa della GUI

Poiché molti programmi per Mac non sono stati progettati per essere gestiti da Applescript con UI Scripting, a volte devi andare in giro per trovare quello che stai cercando. Per fare ciò, utilizzare il programma gratuito chiamato UIElementInspector.

Una volta che questo è in esecuzione, puoi ispezionare qualsiasi elemento dell'interfaccia utente che desideri. L'ispettore dell'elemento dell'interfaccia utente ti mostrerà continuamente i dettagli di qualsiasi elemento su cui stai passando il tempo.

Guarda questo esempio e puoi vedere la gerarchia. Il menu a comparsa fa parte di un gruppo, che fa parte di un altro gruppo, che fa parte di un foglio, che fa parte di una finestra. Nota che è anche descritto come un pulsante a comparsa, piuttosto che un menu.

Ora guarda come questo è rappresentato nella sceneggiatura:

dire al gruppo 1 del gruppo 1 del foglio 1 della finestra 1
dire pulsante pop-up 1
clic

Come puoi vedere, per far funzionare lo script devi aggiungere un po 'di buon senso e un po' di prove ed errori.

In questo caso, volevo salvare il documento come RTF. Ho usato un comando di battitura per aprire il “Salva come” finestra. Questo aleggia sopra il file “Esempio” finestra, ma l'ispettore dell'elemento dell'interfaccia utente sembra ignorare questa finestra aggiuntiva. Tuttavia, per eseguire lo script, è necessario chiamare la finestra 1 per l'azione, non per la finestra “Esempio”.

Devi anche ricordarti di includere ogni piccolo clic che faresti normalmente. In questo caso, è necessario ricordare di fare clic sul menu a comparsa prima di poter indicare a quel menu di scegliere una voce di menu.

Ci vuole un po 'di lavoro per accertare esattamente che cosa hai bisogno di scrivere nello script per l'interfaccia utente che stai tentando di utilizzare, ma con pazienza e un po' di congetture puoi riuscire a farlo. Spero che aprendo gli occhi a questa possibilità tu sia in grado di creare degli Applescript più utili per l'utilizzo da solo o in Automator Impara ad usare Mac Automator con 6 Flussi di lavoro utili Esempio Impara ad usare Mac Automator con 6 Flussi di lavoro utili Esempio Un po 'di pazienza e la creatività è tutto ciò che serve per iniziare ad automatizzare il tuo Mac: non è necessario conoscere una singola riga di codice. Leggi di più .

Quali sono i tuoi modi preferiti per usare Applescript? Potresti rendere questi script migliori con alcuni script UI? Fateci sapere nei commenti!

Scopri di più su: Applescript, Computer Automation, Programming.