1 votos

¿Puede AppleScript ser capaz de hacer clic en el menú extra de una aplicación de terceros?

Muchas aplicaciones de terceros tienen pequeños iconos de menú en la esquina superior derecha de la barra de menú, como Evernote, iStat, Parallels Desktop, etc. Intenté escribir algunos AppleScripts para hacer clic en esos iconos del menú, pero todos fallaron .

Por ejemplo, "PD":

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

Puedo obtener múltiples elementos de menú como "Apple", "Parallels Desktop", "Archivo", "Editar", ..., "Ayuda", que aparentemente son los menús superiores izquierdos de PD. Además, un menú extra también se obtiene y se describe como sigue:

{valor mínimo:valor que falta, orientación:valor que falta, posición:{1338, 0}, clase:elemento de la barra de menú, descripción de accesibilidad:"", descripción del rol: "menú extra", enfocado:falso, título:valor que falta, tamaño:{30, 22}, ayuda:"", contenido completo:{}, habilitado:verdadero, valor máximo:valor que falta, rol: "AXMenuBarItem", valor:valor que falta, subrole: "AXMenuExtra", seleccionado:falso, nombre:valor que falta, descripción:""}

Después de verificar la posición mediante el Inspector de Accesibilidad, puedo confirmar que este extra del menú es el icono del menú que quiero pulsar. Entonces escribo esto:

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

o sustituir la frase "clic" por:

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

Todos los códigos anteriores devuelven el mismo resultado: valor que falta y no aparece ningún menú.

En cuanto a los elementos de la interfaz de usuario del sistema, como "introducir texto", "fecha y hora", "wifi", "batería", "VPN", el método de clic funciona. PERO para las aplicaciones de terceros, no funciona.

Entonces, ¿cómo hacer clic en esos extras de menú de terceros a través de AppleScript?

¡Muchas gracias!

2voto

AskAnotherWay Puntos 31

Estaba teniendo un problema para conseguir que AppleScript hiciera clic en el menú extra de iTeleport Connect hasta que probé lo siguiente:

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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X