obtener botones de radio en Preferencias del sistema

0

Estoy tratando de hacer clic en los botones de opción en el panel de Pantallas de las preferencias del sistema. Este es el código que utilizo para identificar los botones de opción:

tell application "System Preferences"
    activate
    reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays"
end tell
tell application "System Events"
    tell application process "System Preferences"

        set frontmost to true
        get every radio button of window 0 // returns {} -> empty array

    end tell
end tell

Los botones de radio devueltos son ninguno. Según lo que veo, la ventana tiene cero botones de radio. Esto lleva a la conclusión de que los botones de opción son parte de la ventana secundaria, es decir, la subventana de pantallas y no la ventana principal. ¿Cómo puedo navegar a esta "subventana" y hacer clic en los botones de radio?

    
pregunta sanjihan 03.05.2016 - 22:51

1 respuesta

1

Los botones de radio están contenidos dentro de un grupo de radio, y el grupo de radio está contenido dentro de un grupo de pestañas. Por lo tanto, el siguiente código le dará los nombres de los botones de opción.

También es necesario poner un retraso entre abrir la ventana y tratar de hablar con ella. Incluso en un Macbook Pro equipado con SSD. Es posible que tenga que aumentar la demora si está en un Mac equipado con HDD.

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.displays"
end tell
tell application "System Events"
    tell application process "System Preferences"
        set frontmost to true
        delay 1
        tell tab group 1 of window "Built-In Retina Display"
            tell radio group 1
                get every radio button
            end tell
        end tell
    end tell
end tell

También por brevedad, he cambiado la línea set current pane to pane "com.apple.preference.displays" por reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays" .

Si está intentando averiguar cómo se ensambla una interfaz de usuario, una herramienta muy útil es el "Inspector de accesibilidad". Simplemente ejecútalo y flotará sobre tus ventanas. Luego apunte el cursor a lo que quiera entender y le mostrará la jerarquía de cómo se ensamblan los componentes de la interfaz de usuario.

    
respondido por el Alistair McMillan 03.05.2016 - 23:45

Lea otras preguntas en las etiquetas