Acceda a los submenús de aplicaciones con AppleScript

3

Estoy intentando aprender a acceder a cualquier elemento del menú dentro de una aplicación con AppleScript. Puedo orientarme a la pestaña del menú real y luego acceder a los elementos del menú en los que se puede hacer clic, pero no puedo acceder a los elementos del menú dentro de los submenús que aparecen si se colocan encima o si se presiona la flecha derecha.

En el código a continuación, " Zoom " es este tipo de elemento de menú, y no se puede encontrar usando el término 'elemento de menú'. ¿Qué término debo utilizar para que pueda acceder a " Acercar "?

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: " Acercar " tiene, por casualidad, un acceso directo "CMD" y "+", pero esto no es una solución.

Pregunta adicional: ¿Cómo selecciono "el primero", "el último" o el elemento de menú "n: th"?

    
pregunta mynameiscedrik 13.06.2014 - 18:17

2 respuestas

6

Hay un par de cosas.

Primero, necesitará un retraso entre la activación de la aplicación (Firefox) y la acción de hacer clic.

Si no lo haces, la acción de hacer clic se activará demasiado pronto para que la aplicación la recoja.

En segundo lugar, en mi FirfFox, el elemento del menú Acercar se encuentra en el menú Ver .

Por lo tanto, el código debe retroceder desde el elemento del menú Acercar al elemento inicial del menú, tomando todos los nodos intermedios.

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

Cada elemento del menú Sub debe tener un menú >

Así que incluso podrías usar.

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
    
respondido por el markhunte 29.08.2015 - 12:44
0

Este es un poco complicado, ya que debes seleccionar el menú, por ejemplo:

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

Este fragmento de código llamará al primer elemento (el primero en el submenú) del primer elemento del menú Herramientas .

Si desea llamar al primer o al último elemento, solo use la palabra clave último o primero:

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

Nota: puede reemplazar el índice del elemento por su etiqueta.

    
respondido por el Matthieu Riegler 13.06.2014 - 19:14

Lea otras preguntas en las etiquetas