1 votos

Uso de AppleScript para hacer clic en los botones de radio

Creo que se trata de un error en Mac OS X: con una configuración de doble monitor, el Dock cambia al segundo monitor (no al principal) de vez en cuando.

Para solucionar este problema, abro el Dock y hago clic en los botones de opción "Izquierda" y "Abajo" del elemento "Posición en la pantalla".

Necesito automatizar esto con AppleScript. Podría abrir el Dock usando este script, pero no estoy seguro de cómo hacer clic en el botón de opción Izquierda y luego Abajo en AppleScript.

tell application "System Preferences"
    set the current pane to pane id "com.apple.preference.dock"
    activate
end tell

He intentado añadir un código en el script, pero no funciona.

click radiobutton "Left"

enter image description here

1 votos

Te sugiero que utilices el botón Grabar en el Editor de script para que genere el código por ti mientras haces clic en el botón que quieres. Esto hará dos cosas: primero, generará un script que funcione, y segundo, podrás aprender de ese script.

0 votos

@tubedogg, la función de grabación en el editor de AppleScript no funciona en absoluto en la mayoría de los casos y de forma incompleta en otros. Finder es una de las pocas aplicaciones con las que funciona. Francamente, he encontrado que es una característica inútil.

0 votos

@prosseek, he actualizado mi respuesta para que funcione con OS X 10.11.6, como se explica en la "Nota:" al final de mi respuesta.

1voto

user3439894 Puntos 5883

Puede hacer clic en el botón botones de radio en más de un sentido.

Después de la tell application "System Preferences" bloque utilizar un tell application "System Events" bloque Por ejemplo:

tell application "System Preferences"
    set the current pane to pane id "com.apple.preference.dock"
    activate
end tell

tell application "System Events"
   click radio button 1 of radio group 1 of window 1 of process "System Preferences"
end tell

En este primer uso, botón de radio 1 es Izquierda , botón de radio 2 es En el fondo y botón de radio 3 es A la derecha .

O:

tell application "System Preferences"
    set the current pane to pane id "com.apple.preference.dock"
    activate
end tell

tell application "System Events"
   click radio button "Left" of radio group 1 of window "Dock" of process "System Preferences"
end tell

En este segundo uso, utilice Izquierda , En el fondo o A la derecha directamente y también puede utilizar Muelle en lugar de ventana 1 . (Esto último lo podrías hacer en cualquiera de estos ejemplos).

O:

tell application "System Preferences"
    set the current pane to pane id "com.apple.preference.dock"
    activate
end tell

tell application "System Events"
    click (every radio button whose value of attribute "AXTitle" is "Left") of radio group 1 of window 1 of process "System Preferences"
end tell

En este tercer uso, utilice Izquierda , En el fondo o A la derecha para el valor de (every radio button whose value of attribute "AXTitle" is "?") donde el ? es uno de estos valores.

Nota: Estos ejemplos han sido probados bajo OS X 10.11.6 y funcionan tal y como han sido editados. He añadido
of radio group 1 entre botón de radio y ventana . Para su uso en OS X 10.8.5 eliminar of radio group 1 de la código .

0 votos

Ninguno de los tres códigos me funciona (Mac OS X 10.11.6). El primer ejemplo: Índice inválido" número -1719 del botón de radio 1 de la ventana 1 del proceso "Preferencias del Sistema". El segundo ejemplo: No se puede obtener el botón de radio "Izquierda" de la ventana "Dock" del proceso "Preferencias del Sistema"." número -1728 del botón de radio "Izquierda" de la ventana "Dock" del proceso "Preferencias del Sistema". El último ejemplo: valor perdido.

0 votos

@prosseek, todo esto me funciona en OS X 10.8.5, que es lo que estoy usando en este momento. Voy a girar un OS X 10.11.6 después del almuerzo y ver lo que ha cambiado.

0 votos

Acabo de probarlos en MacOS sierra 10.12 y funcionan tal y como están escritos.

0voto

ToshikiKai Puntos 1

En lugar de hacer clic en los botones, algo que es más lento y propenso a errores, es mejor cambiar los ajustes directamente usando AppleScript.

Para cambiar la configuración del borde de la pantalla, ejecute

tell application "System Events"
    tell dock preferences
        set properties to {screen edge:bottom}
    end tell
end tell

si quieres que vaya a la izquierda, sólo tienes que cambiar "abajo" por "izquierda" arriba.

Para obtener todas las configuraciones posibles, 'get properties' en lugar de set.

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