Viele Apps von Drittanbietern haben kleine Menüsymbole in der oberen rechten Ecke der Menüleiste, z. B. Evernote, iStat, Parallels Desktop und so weiter. Ich habe versucht, einige AppleScripts zu schreiben, um auf diese Menüsymbole zu klicken, aber alle sind fehlgeschlagen .
Nehmen Sie zum Beispiel "PD":
tell application "System Events"
tell process "Parallels Desktop"
get properties of every menu bar item of every menu bar
end tell
end tell
Ich kann mehrere Menüpunkte wie "Apple", "Parallels Desktop", "Datei", "Bearbeiten", ..., "Hilfe" abrufen, die anscheinend die oberen linken Menüs von PD sind. Außerdem erhält man auch ein Menü-Extra , das wie folgt beschrieben wird:
{Mindestwert:fehlender Wert, Ausrichtung:fehlender Wert, Position:{1338, 0}, Klasse:Menüleistenelement, Barrierefreiheitsbeschreibung:"", Rollenbeschreibung:"Menü extra", fokussiert:false, Titel:fehlender Wert, Größe :{30, 22}, Hilfe:"", gesamter Inhalt:{}, aktiviert:true, Maximalwert:fehlender Wert, Rolle:"AXMenuBarItem", Wert:fehlender Wert, Unterrolle:"AXMenuExtra", ausgewählt:false, Name :fehlender Wert, Beschreibung:""}
Nachdem ich die Position mit Accessibility Inspector überprüft habe, kann ich bestätigen, dass dieses Menü-Extra das Menüsymbol ist, auf das ich klicken möchte. Dann schreibe ich das:
tell application "System Events"
tell process "Parallels Desktop"
click menu bar item 1 of menu bar 2
end tell
end tell
oder ersetzen Sie die "Klick"-Anweisung durch:
perform action "AXPress" of menu bar item 1 of menu bar 2
oder mit:
perform action "AXShowMenu" of menu bar item 1 of menu bar 2
Alle oben genannten Codes geben das gleiche Ergebnis zurück: fehlender Wert , und es werden überhaupt keine Menüs angezeigt!
Bei den System-UI-Elementen wie „Text eingeben“, „Datum und Uhrzeit“, „WLAN“, „Batterie“, „VPN“ funktioniert die Klickmethode. ABER für Apps von Drittanbietern funktioniert es nicht.
Wie kann man also über AppleScript auf diese Menü-Extras von Drittanbietern klicken?
Vielen Dank!!
Ich hatte ein Problem damit, AppleScript dazu zu bringen, auf das Menü Extra von iTeleport Connect zu klicken, bis ich Folgendes versuchte:
tell application "System Events" to tell process "iTeleport Connect"
tell (menu bar item 1 of menu bar 2)
click -- This click appears to be the important addition that allows you to drill down to the other items
click menu item "Connect" of menu 1
end tell
end tell
tell application "System Events" to click menu bar item 1 of menu bar 2 of process "ProcessName"
!
Clemsam lang