Accedere ai sottomenu dell'applicazione con AppleScript

3

Sto cercando di imparare ad accedere a qualsiasi voce di menu all'interno di un'applicazione con AppleScript. Posso orientare la scheda del menu attuale e quindi accedere alle voci di menu selezionabili, ma non posso accedere alle voci di menu all'interno dei sottomessi che appaiono se sono sovrascritti o che RightArrow è premuto.

Nel codice sottostante, " Zoom " è questo tipo di voce di menu e non può essere trovato usando il termine 'voce di menu'. Quale termine dovrei usare invece per accedere a " Zoom in "?

1 tell application "Firefox"
2   activate
3   tell application "System Events"
4       tell process "Firefox"
5           click menu item "Zoom in" of menu item "Zoom" of menu "Tools" of menu bar 1
6       end tell
7   end tell
8 end tell

Nota: " Zoom in " ha, per caso, una scorciatoia "CMD" e "+", ma questa non è una soluzione.

Domanda aggiuntiva: come scegliere "il primo", "l'ultimo" o il "n: th" elemento del menu?

    
posta mynameiscedrik 13.06.2014 - 18:17
fonte

2 risposte

6

Ci sono un paio di cose.

Innanzitutto occorrerà un ritardo tra l'attivazione dell'app (Firefox) e l'azione clic.

Se non lo fai, l'azione di clic sarà troppo rapida per consentire all'applicazione di riprenderla.

In secondo luogo, nel mio FirfFox la voce Ingrandisci del menu si trova nel menu Visualizza .

Quindi il codice deve tornare indietro dalla voce del menu Zoom in alla voce iniziale del menu tenendo conto di tutti i nodi in mezzo.

click menu item "Zoom In" of menu 1 of menu item "Zoom" of menu 1 of menu bar item "View" of menu bar 1

activate application "Firefox"
delay 1
tell application "System Events"
    tell process "Firefox"
        click menu item "Zoom In" of menu 1 of menu item "Zoom" of menu 1 of menu bar item "View" of menu bar 1

    end tell
end tell

Ogni sotto voce di menu deve avere un menu di controllo

Quindi potresti anche usarlo.

click menu item "Zoom In" of it's menu of menu item "Zoom" of it's menu of menu bar item "View" of menu bar 1
    
risposta data 29.08.2015 - 12:44
fonte
0

Questo è un po 'complicato dal momento che devi selezionare il menu per esempio:

tell application "Firefox"
    activate
    tell application "System Events"
        tell process "Firefox"
            click menu item 1 of menu 1 of menu item 1 of menu 1 of menu bar item "Tools" of menu bar 1

        end tell
    end tell
end tell

Questo pezzo di codice chiamerà il primo elemento (il primo nel sottomenu) del primo elemento del menu Strumenti .

Se vuoi chiamare il primo o l'ultimo elemento, usa la parola chiave last o first:

first menu bar item of menu bar 1
last menu bar item of menu bar 1

NB: puoi sostituire l'indice dell'articolo con la sua etichetta.

    
risposta data 13.06.2014 - 19:14
fonte

Leggi altre domande sui tag