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

2

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

Toma "PD" por ejemplo:

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 varios elementos del menú como "Apple", "Parallels Desktop", "Archivo", "Editar", ..., "Ayuda", que aparentemente son los menús de la parte superior izquierda de la DP. Además, también se obtiene un menú extra y se describe a continuación:

{valor mínimo: valor faltante, orientación: valor faltante, 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 faltante, tamaño: {30, 22}, ayuda: "", contenido completo: {}, habilitado: verdadero, valor máximo: valor faltante, rol: "AXMenuBarItem", valor: valor faltante, subrole: "AXMenuExtra" , seleccionado: falso, nombre: valor faltante, descripción: ""}

Después de verificar la posición por el Inspector de accesibilidad, puedo confirmar que este menú adicional es el icono de menú en el que quiero hacer clic. Luego escribo esto:

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

o reemplaza la declaración de "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

Todos los códigos anteriores devuelven el mismo resultado: valor faltante , ¡y no se muestra ningún menú!

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

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

¡Muchas gracias!

    
pregunta bo zhao 08.12.2017 - 03:18

1 respuesta

-2

Tenía un problema para 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
    
respondido por el AskAnotherWay 11.12.2018 - 21:12

Lea otras preguntas en las etiquetas