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!