AppleScript può fare clic sul menu extra di un'app di terze parti?

2

Molte app di terze parti hanno piccole icone di menu nell'angolo in alto a destra della barra dei menu come Evernote, iStat, Parallels Desktop e così via. Ho provato a scrivere alcuni AppleScript per fare clic su quelle icone di menu, ma tutti falliti .

Prendi "PD" per esempio:

tell application "System Events"
    tell process "Parallels Desktop"
        get properties of every menu bar item of every menu bar
    end tell
end tell

Posso ottenere più voci di menu come "Apple", "Parallels Desktop", "File", "Modifica", ..., "Aiuto", che apparentemente sono i menu in alto a sinistra del PD. Inoltre, si ottiene anche un menu extra ed è descritto come segue:

{valore minimo: valore mancante, orientamento: valore mancante, posizione: {1338, 0}, classe: elemento della barra dei menu, descrizione dell'accessibilità: "", descrizione del ruolo: "menu extra", focalizzato: falso, titolo: valore mancante, dimensione: {30, 22}, help: "", intero contenuto: {}, abilitato: vero, valore massimo: valore mancante, ruolo: "AXMenuBarItem", valore: valore mancante, subrole: "AXMenuExtra" , selezionato: falso, nome: valore mancante, descrizione: ""}

Dopo aver verificato la posizione di Accessibility Inspector, posso confermare che questo menu extra è l'icona del menu che voglio fare clic. Quindi scrivo questo:

tell application "System Events"
    tell process "Parallels Desktop"
        click menu bar item 1 of menu bar 2
    end tell
end tell 

o sostituisci l'istruzione "clic" con:

perform action "AXPress" of menu bar item 1 of menu bar 2

o con:

perform action "AXShowMenu" of menu bar item 1 of menu bar 2

Tutti i codici sopra riportati restituiscono lo stesso risultato: valore mancante e nessun menu appare affatto!

Per quanto riguarda gli elementi dell'interfaccia utente di sistema come "input text", "date and time", "wifi", "battery", "VPN", il metodo click funziona. MA per app di terze parti, non funziona.

Quindi, come fare clic su questi extra di menu di terze parti tramite AppleScript?

Grazie mille !!

    
posta bo zhao 08.12.2017 - 03:18
fonte

1 risposta

-2

Stavo avendo un problema nel far sì che AppleScript facesse clic sul menu extra di iTeleport Connect finché non ho provato quanto segue:

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
    
risposta data 11.12.2018 - 21:12
fonte

Leggi altre domande sui tag