1 votos

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

Intentando cambiar de pestaña 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

He intentado sustituir "Safari" por "System Events" y "2" por "-2". Pero nada de lo que hago funciona. ¿Puede alguien decirme qué estoy haciendo mal?

1voto

user3439894 Puntos 5883

Son los Eventos del Sistema los que manejan el pulsaciones de teclas .

En el 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 osascript línea de comandos, 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'

El osascript La línea de comando de arriba se muestra a continuación como varias 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 decirle a Eventos del Sistema que pulsación de teclas El objetivo de la pulsación de teclas debe tener un enfoque. Por lo tanto, primero hay que hacer que Safari sea la ventana más frontal con activate . A continuación, debe dejar un momento para que se concentre antes de que el pulsar la tecla y eso se hace con delay 0.5 y el valor de delay puede ser necesario ajustar en segundos y o fracciones decimales del mismo. Por lo tanto, una vez que Safari es la ventana principal, los Eventos del Sistema pueden emitir el pulsaciones de teclas .

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

El pulsación de teclas utilizado aquí con Safari es un atajo de teclado de Safari 9 (El Capitan) como se muestra en: Safari 9 (El Capitan): Teclado de Safari y otros atajos

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

0 votos

Esto no me funciona. Funciona si pulso manualmente Cmd 2 pero de lo contrario sólo se queda en la misma pestaña después de safari se activa. He intentado retrasar para 4.0 y todavía nada.

0 votos

Usted necesita para permitir el establecimiento de la ficha a través de cmd-número en la configuración de safari en el marco del tabs ajuste

0 votos

Ya lo he hecho. Si lo pulso manualmente en el teclado funciona bien. Pero con el script no pasa nada.

0voto

Baczek Puntos 150

Utilice el key code 19 porque el keystroke "2" simular 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 de alguna llave, descargue esta aplicación --> https://itunes.apple.com/us/app/key-codes/id414568915?mt=12


Pero, no es necesario Guiones de la interfaz gráfica de usuario para seleccionar una pestaña en Safari, utilice este script

tell application "Safari" to tell front window to set current tab to tab 2 -- this select the second tab

0 votos

Gracias ambos ejemplos funcionan. Pregunta rápida - ¿Cómo sería redactado si el comando utiliza 2 o más modificadores de teclado como comando y alt al mismo tiempo?

0 votos

No importa, lo tengo. En caso de que alguien más necesita este su osascript -e 'tell application "System Events" to key code "19" using {option down, command down}' -e 'end tell' Gracias por su ayuda.

0 votos

@Seamus, no es necesario utilizar -e 'end tell' cuando el tell en el to forma. En otras palabras tell application "AppName" to ... niega la necesidad de un end tell .

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