0 votos

obtener botones de radio en las Preferencias del Sistema

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

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. En base a lo que veo, la ventana tiene cero botones de radio. Esto lleva a la conclusión de que los botones de radio forman parte de una subventana, concretamente la subventana Displays y no la ventana principal. ¿Cómo puedo navegar a esta "subventana" y hacer clic en los botones de radio?

enter image description here

0 votos

Esto puede pertenecer a Stack Overflow, amigo mío... Aquí no se fomenta el uso de AppleScript. @sanjihan

0 votos

@bret7600 Las preguntas sobre AppleScript son perfectamente ontopic aquí, por favor revise el PREGUNTAS FRECUENTES .

1voto

rpetrich Puntos 25769

Los botones de radio están contenidos en un grupo de radio, y el grupo de radio está contenido en un grupo de pestañas. Así que el siguiente código le dará los nombres de los botones de radio.

También hay que poner un retardo entre la apertura de la ventana y el intento de hablar con ella. Incluso en un Macbook Pro equipado con SSD. Puede que tengas que aumentar el retardo si estás 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 en aras de la brevedad he cambiado la línea set current pane to pane "com.apple.preference.displays" para reveal anchor "displaysDisplayTab" of pane id "com.apple.preference.displays" .

Si quieres saber cómo está montada una interfaz de usuario, una herramienta muy útil es el "Inspector de Accesibilidad". Simplemente lánzalo y flotará sobre tu Windows. Apunta con el cursor a lo que quieras entender y te mostrará la jerarquía de cómo están montados los componentes de la interfaz de usuario.

Screenshot of Accessibility Inspector doing its job

0 votos

He actualizado mi respuesta con una explicación de cómo lo he resuelto :)

1 votos

Esa herramienta es un salvavidas.

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