So verwenden Sie das Applescript-UI-Scripting auf einem Mac

So verwenden Sie das Applescript-UI-Scripting auf einem Mac / Mac

Wenn Sie ein Fan von Mac OSX Applescript sind, haben Sie wahrscheinlich einige Einschränkungen festgestellt. Das heißt, dass nicht alle Programme direkt mit Applescript bearbeitet werden können. Sie können jedoch das User Interface (UI) -Skripting von Applescript verwenden, um die Lücken zu füllen, wenn Sie wissen, wie.

Sie können Applescript verwenden, um die Benutzeroberfläche von fast jedem Programm auf Ihrem Mac zu steuern. Manchmal ist es ein bisschen schwierig, aber es kann tatsächlich getan werden. Ich werde Ihnen die Grundlagen zeigen, wie Sie dies selbst machen können, und Sie durch ein einfaches Skript mit diesen Techniken führen.

Füllen Sie zunächst das grundlegende Applescript auf

Wenn Sie mit Applescript noch nicht vertraut sind oder sich längere Zeit nicht damit befasst haben, informieren Sie sich über die Automatisierung Ihres Mac mit AppleScript [Teil 1: Einführung]. Erfahren Sie, wie Sie Ihren Mac mit AppleScript automatisieren können Applescript-Kenntnisse 6 Anfänger-Ressourcen zum Erlernen der Mac-Programmierung 6 Anfänger-Ressourcen zum Erlernen der Mac-Programmierung Lesen Sie weiter, bevor Sie dieses Handbuch lesen.

Ich füge Screenshots hinzu, die so viel wie möglich abdecken, aber in diesem Artikel geht es um die feineren Details, nicht um das grundlegende Applescript (das wir bereits behandelt haben)..

Aktivieren Sie UI-Scripting

Bevor Sie UI-Scripting verwenden können, gehen Sie zu Systemeinstellungen, Universal Access und kreuzen Sie das Kästchen an Zugriff für Hilfsgeräte ermöglichen.

Verwenden von Tastenanschlägen

Die einfachste Möglichkeit, mit der Benutzeroberfläche eines Programms mit Applescript zu interagieren, besteht darin, die Eingabe von Tastatureingaben zu simulieren, als ob Sie Mac-Abkürzungen und Tippbefehle verwenden.

In TextEdit möchten Sie beispielsweise eine Such- und Ersetzungssuche ausführen. Sie wissen wahrscheinlich bereits, dass Sie CMD-F für Suchen / Ersetzen eingeben können, Ihren Suchbegriff eingeben, die Tabulatortaste drücken, um zum nächsten Feld zu gelangen, den Ersetzungsbegriff eingeben und dann auf drücken “Alles ersetzen” um den Text zu ersetzen.

In Applescript können Sie auch die Benutzeroberfläche anweisen, diese Befehle einzugeben. Sie würden CMD-F durch den Befehl kommunizieren Tastenanschlag “f” Befehl nach unten verwenden mit Applescript. Beachten Sie auch, dass Sie CMD-SHIFT-S ausführen können Tastenanschlag “s” mit Befehl nach unten, nach unten verschieben. Sie können auch in die Benutzeroberfläche mit Applescript eingeben, indem Sie verwenden Tastenanschlag “mytext”, wo der Text zwischen den Anführungszeichen steht. Zum Schluss können Sie einige einfache Tastenkombinationen wie TAB wie folgt eingeben: Registerkarte "Tastenanschlag".

Bevor Sie den Befehl keystroke verwenden, müssen Sie sicherstellen, dass die Prozessklasse aufgerufen wird (und vergessen Sie nicht, diese Tell-Befehle später zu beenden)..

Anwendung mitteilen “Systemereignisse”
Prozess erzählen “TextEdit”

In der Abbildung finden Sie die vollständigen Befehle für diese grundlegende Aktion Suchen / Ersetzen in Folge.

Klicken Sie auf Schaltflächen

Wenn Ihr Programm eine Reihe von Schaltflächen zur Auswahl hat, können Sie sie normalerweise mit einem einfachen Applescript-Befehl steuern. Im Falle von Suchen / Ersetzen möchten Sie möglicherweise auf klicken “Alles ersetzen”. Der Befehl dafür ist klicktaste “Alles ersetzen”.

Komplexere GUI-Manipulation

Da viele Mac-Programme nicht für die Bearbeitung durch Applescript mit UI-Scripting entwickelt wurden, müssen Sie manchmal suchen, um zu finden, wonach Sie suchen. Verwenden Sie dazu das kostenlose Programm UIElementInspector.

Sobald dies ausgeführt wird, können Sie jedes gewünschte Oberflächenelement prüfen. Der Elementinspektor der Benutzeroberfläche zeigt Ihnen fortlaufend die Details aller Elemente, über die Sie den Mauszeiger bewegen.

Sehen Sie sich dieses Beispiel an und Sie können die Hierarchie sehen. Das Popup-Menü ist Teil einer Gruppe, die Teil einer anderen Gruppe ist, die Teil eines Arbeitsblatts ist, das Teil eines Fensters ist. Beachten Sie, dass es auch als Popup-Button und nicht als Menü beschrieben wird.

Nun sehen Sie, wie dies im Skript dargestellt wird:

Sagen Sie Gruppe 1 von Gruppe 1 von Blatt 1 von Fenster 1
sagen Sie Pop-Up-Taste 1
klicken

Wie Sie sehen können, müssen Sie ein wenig gesunden Menschenverstand und ein wenig Versuch und Irrtum hinzufügen, damit das Skript funktioniert.

In diesem Fall wollte ich das Dokument als RTF speichern. Ich habe einen Tastenbefehl verwendet, um das zu öffnen “Speichern als” Fenster. Dies schwebt über den Dateien “Beispiel” Fenster, aber der UI-Elementinspektor scheint dieses zusätzliche Fenster zu ignorieren. Um das Skript auszuführen, müssen Sie jedoch Fenster 1 zur Aktion aufrufen, nicht Fenster “Beispiel”.

Sie müssen auch daran denken, jeden kleinen Klick hinzuzufügen, den Sie normalerweise machen würden. In diesem Fall müssen Sie daran denken, auf das Popup-Menü zu klicken, bevor Sie dieses Menü anweisen können, einen Menüpunkt auszuwählen.

Es ist ein wenig Arbeit, um herauszufinden, was Sie genau in das Skript für die Benutzeroberfläche schreiben müssen, die Sie verwenden möchten. Mit Geduld und ein wenig Nachdenken können Sie dies jedoch auch tun. Ich hoffe, wenn Sie Ihre Augen für diese Möglichkeit öffnen, können Sie nützliche Applescripts erstellen, die allein oder in Automator verwendet werden. Erlernen Sie die Verwendung von Mac Automator mit 6 praktischen Beispielworkflows und Kreativität ist alles, was Sie brauchen, um Ihren Mac zu automatisieren - Sie müssen keine einzige Codezeile kennen. Weiterlesen .

Was sind Ihre Lieblingsmethoden für Applescript? Könnten Sie diese Skripts mit einigen UI-Skripts verbessern? Lass es uns in den Kommentaren wissen!

Erfahren Sie mehr über: Applescript, Computer Automation, Programmierung.