1 votos

script funciona en el Editor de secuencias de Comandos, pero no como app (MacOS Mojave)

La siguiente secuencia de Comandos funciona como se esperaba en el Editor de secuencias de Comandos:

tell application "System Events"
    set nord to menu bar item 1 of menu bar 2 of application process "NordVPN IKE"
    ignoring application responses
        click nord
    end ignoring
end tell
do shell script "killall System\\ Events"
tell application "System Events"
    set nord to menu bar item 1 of menu bar 2 of application process "NordVPN IKE"
    tell menu 1 of nord
        if exists menu item "Disconnect" then
            click menu item "Disconnect"
        else
            click menu item "Connect"
        end if
    end tell
end tell

Al exportar a un .app y haga doble clic en él para ejecutar, me sale el siguiente error:

No puede llegar a la "clase menE", 1 de "clase mbri" 1 "clase mbar" 2 de "clase pcap" "NordVPN IKE" de la aplicación "Sistema de Eventos". Invalid index.

Los Eventos del sistema en un error: no se Puede obtener el menú 1 de la barra de menú elemento 1 de la barra de menú 2 del proceso de solicitud de "NordVPN IKE". Invalid index. (-1719)

¿Cómo puedo cambiar el script para que funcione como un .app?

Gracias

0voto

Walrus the Cat Puntos 130

Es necesario hacer dos cosas con el fin de conseguir que esto se ejecute:

En primer lugar usted necesita para asegurarse System Events sí tiene permisos en el panel de preferencias Accesibilidad.

En segundo lugar, se debe agregar un retardo después de hacer clic en el elemento de menú a darle tiempo para cargar. Que en última instancia es lo que está causando el error de índice, debido a que el menú no propaga sin embargo, y esta tratando de acceder a los elementos en ella. Cambiar la secuencia de comandos a la siguiente:

....
        click nord
    end ignoring
end tell
delay 0.3
do shell script "killall System\\ Events"
....

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