¿Cómo puedo cambiar a una pestaña abierta en Safari usando osascript?

1

Intentando cambiar las pestañas en Safari con osascript . He probado varias versiones de lo siguiente:

osascript -e 'tell Application "Safari"' -e 'keystroke "2" using command down' -e 'end tell

Intenté reemplazar "Safari" con "Eventos del sistema y" 2 "con" -2 ". Pero no hago nada que esté funcionando. ¿Puede alguien decirme qué estoy haciendo mal?

    
pregunta Seamus 04.05.2016 - 08:46

2 respuestas

0

Use el comando key code 19 , porque el comando keystroke "2" simula el código de tecla 84 (teclado numérico) en lugar del código de tecla 19.

tell application "System Events" to key code 19 using command down

Para conocer el código clave de alguna clave, descargue esta aplicación - > enlace

Pero, no necesita GUI Scripting para seleccionar una pestaña en Safari, use este script

tell application "Safari" to tell front window to set current tab to tab 2 -- this select the second tab
    
respondido por el jackjr300 04.05.2016 - 19:38
1

Son los eventos del sistema los que manejan las pulsaciones de teclas .

En AppleScript normal, el código se vería así:

tell application "Safari"
    activate
    delay 0.5
    tell application "System Events"
        key code 19 using command down
    end tell
end tell

Como línea de comando osascript , sería:

osascript -e 'tell application "Safari" to activate' -e 'delay 0.5' -e 'tell application "System Events" to key code 19 using command down'

La línea de comando osascript desde arriba se muestra a continuación como múltiples líneas para mayor claridad:

osascript -e 'tell application "Safari" to activate' \
          -e 'delay 0.5' \
          -e 'tell application "System Events" to key code 19 using command down'

Notas: Antes de indicar los eventos del sistema a pulsación de tecla , el objetivo de pulsación de tecla debe tener el foco. Así que primero, Safari debe ser la ventana frontal con activate . Luego, debe permitir un momento para que tenga el foco antes de presionar una tecla y eso se hace con delay 0.5 y el valor de delay debe ajustarse en segundos y o fracciones decimales de las mismas. Así que una vez que Safari es la ventana frontal, entonces los eventos del sistema pueden emitir las pulsaciones de teclas .

¡Por supuesto, esto supone que Safari ya está abierto con al menos una ventana con dos pestañas!

La pulsación de tecla utilizada en este documento con Safari es un método abreviado de teclado Safari 9 (El Capitán) como se muestra en: Safari 9 (El Capitán): teclado Safari y otros accesos directos

  

Seleccione una de sus primeras nueve pestañas Comando-1 a Comando-9

    
respondido por el user3439894 04.05.2016 - 11:03

Lea otras preguntas en las etiquetas