26 votos

Cómo saber el nombre de elementos de interfaz de usuario utilizando la Accesibilidad inspector (o cualquier otra herramienta)

Estoy tratando de interactuar con un diálogo de impresión a través de Applescript.

Lo que quiero emular es el usuario el establecimiento de un valor en un determinado desplegable.

Decir que tengo:

tell application "System Events"
  tell process "Preview"
    set value of pop up button XXX to YYY
  end tell
end tell

¿Cómo debo saber el nombre de XXX? Por ejemplo, ¿cómo puedo distinguir entre la "impresora" y "presets" listas desplegables?

He abierto la Accesibilidad Inspector, pero a partir de la información que aparece allí, no puedo ver una referencia a el nombre o algún otro identificador único para el menú desplegable.

He visto a muchas personas mediante el uso de números para referirse a los diferentes desplegable, pero no estoy seguro de que esta es una buena práctica. ¿Qué pasa si Apple decide intercambiar el orden de dos desplegables en algún momento?

Cualquier ayuda se agradece.

ACTUALIZACIÓN:

El uso de 10.6.8 y el inspector como se sugiere a continuación, me sale lo siguiente:

enter image description here

20voto

Malik hassan Puntos 16

La ACTUALIZACIÓN. esto funcionará en 10.7.x pero 10.6 les ha elemento de información.

Los Botones (listas desplegables ) en la Hoja de Impresión tiene Descripción para describir la función.

En la Accesibilidad inspector; esto se ve al pasar el ratón sobre el elemento (botón). usted puede bloquear la Accesibilidad inspector's vista con cmd+F7.

La Descripción aparecerá en la lista como AXDescription

enter image description here

En los casos de las Impresoras es el de las Impresoras de Presets es Presets

Si conoce la AXDescription usted puede evitar los números usando algo como esto. Pero esta no es la única manera. Sólo un ejemplo.

activate application "Preview"
tell application "System Events"
    tell process "Preview"
        click ((pop up buttons of sheet 1 of window 1) whose description is "Printers")
    end tell
end tell

Para el de arriba para trabajar en este ejemplo, la Hoja de Impresión debe ser visible, junto con "Mostrar Detalles"

El botón/menú desplegable tiene un menú. Así que usted puede seleccionar o hacer clic en él por referencia a los elementos de menú del menú del botón.

Ya sea por número o utilizando su título/AXTitle.

activate application "Preview"
    tell application "System Events"
        tell process "Preview"
            click ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

click menu item "Last Used Settings" of menu of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")
        end tell
    end tell

Usted puede acortar el código repetitivo mediante el uso de una variable para el botón y llamar a eso. Cuando lo hagas como mi ejemplo a continuación;

   activate application "Preview"
tell application "System Events"
    tell process "Preview"
        set Presets_button to item 1 of ((pop up buttons of sheet 1 of window 1) whose description is "Presets")

        click Presets_button
        click menu item "Last Used Settings" of menu of Presets_button
    end tell
end tell

5voto

leora Puntos 5626

Utilice uno de los scripts relacionados con esta Mac OS X ayuda para encontrar la forma adecuada de dirección: Búsqueda de Control y Elementos de Menú para su uso en AppleScript de la Interfaz de Usuario de secuencias de comandos

Si mal no recuerdo, usted necesita para hacer clic (cmd es en los Eventos del Sistema) en el menú emergente del botón antes de que usted puede seleccionar un elemento de menú de su menú.

4voto

Arnaud P Puntos 131

Para aquellos que se preguntan, parece que un lugar donde encontrar la Accesibilidad Inspector en 10.7:

/Aplicaciones/Xcode.app/Contents/Aplicaciones

1voto

Silverfish Puntos 494

Recientemente he de escribir mi flujo de trabajo para la interfaz de usuario de secuencias de comandos de AppleScript.

En resumen, el componente clave que hizo las cosas mucho, mucho más fácil para mí fue aprender de la UI Elements de comandos de AppleScript devuelve una lista de los términos que el Editor AppleScript quiere ver a llamar a los Elementos de interfaz de usuario. La interfaz de este con los términos visto desde la Accesibilidad Inspector (que a menudo son ligeramente diferentes) para la construcción de un guión de trabajo.

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