7 votos

AppleScript: cómo identificar botones y presionarlos?

Estoy tratando de automatizar la ejecución de techtools a través de AppleScript. Ya lo tengo funcionando, pero sólo con el acceso de teclado completo (usando la ficha y el espacio para navegar por la interfaz de usuario), pero no todas las máquinas tienen esta habilitado cuando llegué por primera vez en necesito una manera de activar la ejecución revise la computadora.
Supongo que esto es posible con el "haga clic en el botón" función, pero no puedo trabajar fuera de cómo para saber que botón es el que con accesibilidad inspector. Aquí está el diseño de TechTools y se puede ver en la parte inferior izquierda se encuentra el botón que desea pulse para iniciar las pruebas.

TechTools run check computer button

Y aquí está el inspector de info sobre el botón.
enter image description here

Como ya he dicho, puede activar esta bien cuando el acceso de teclado completo está habilitado porque no se trata sólo de un caso de copia del teclado.

No estoy seguro si lo estoy entendiendo el concepto de la identificación de los botones dentro del programa o cómo especificar la ventana es en (supongo que de la ventana 1.)

Este es un ejemplo de el tipo de script que he estado escribiendo para intentar lograr esto (sé que éste sólo se minimiza la ventana.) ¿Debo seguir aumentando el valor del botón hasta que finalmente sólo se ejecuta revise la computadora? Cuando traté de 4 botón se activa una opción en el menú Archivo en la barra superior.
Cualquier ayuda sería muy apreciada.

tell application "System Events"
    tell process "TechTool Pro 9"
        click button 2 of window 1
    end tell
end tell

8voto

qarma Puntos 71

He aquí un pequeño truco:

Obtener las coordenadas de la pantalla del botón. Usted puede hacer esto mediante el inicio de una captura de pantalla con el punto de mira, normalmente pulsando la tecla⌘4 (⟨Cmd⟩⟨Cambio⟩⟨4⟩). Navegar por los pelos cruzados sobre el botón dentro de su clickable región.

Yo hice algo parecido con un cuadro de diálogo en el Editor de secuencias de Comandos:

Crosshairs in macOS

Usted puede hacer las coordenadas de mi botón {896,674}.

A continuación, en el Editor de secuencias de Comandos, escriba esta línea de código, introduciendo sus coordenadas según corresponda:

    tell application "System Events" to click at {896, 674}

Puedo asumir que usted ya tiene el derecho de accesibilidad a los privilegios otorgados por el contexto de tu post. Por lo tanto, usted puede simplemente ejecutar esta secuencia de comandos.

Sólo asegúrese de que el botón está visible antes de ejecutar el script, y que no ha cambiado de posición en la pantalla. Asegúrese de que no hay ventanas ocultan o suprayacente.

Si todo va bien, pueden suceder dos cosas:

  1. El sistema emitirá un clic y haga clic en ese botón;
  2. En el panel de resultados en la parte inferior del Editor de secuencias de Comandos de la ventana, verás algo como esto:
 botón "Hecho" de la ventana "Abrir" del proceso de aplicación "Editor de secuencias de Comandos" de la aplicación "Sistema de Eventos"

Que es la referencia a la button objeto, que se puede copiar y pegar en tu script.

Funciona para cualquier objeto GUI en la pantalla: sólo aislar sus coordenadas, emitir un click, y se devolverá el objeto de referencia.

ACTUALIZACIÓN:

Habiendo adquirido una copia de TechTool Pro versión 8, he aprendido que la aplicación no GUI-secuencias de comandos. Por lo tanto, esto explica por qué el truco que he descrito no pudo devolver un objeto de referencia (porque no hay ninguno), y desafortunadamente, usted no será capaz de automatizar la ejecución de TechTools usando AppleScript.

1voto

Steve Evans Puntos 155

Sikuli

Si bien esto es posible con AppleScript, considere usar Sikuli para esta tarea:

Sikuli automatiza todo lo que ves en la pantalla. Utiliza el reconocimiento de imágenes para identificar y controlar los componentes de la GUI. Es útil cuando no hay un acceso fácil al código fuente o interno de una GUI.

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