1 votos

Desplazamiento hacia abajo - cambiar la posición de la barra de desplazamiento utilizando AppleScript (combinado con otro script)

Así que un gran tipo me ayudó ( Automatizador: Applescript - Abrir un perfil específico de Google Chrome y utilizar la extensión ). Ahora, quiero implementar el siguiente paso en esto.

Ahora puedo ejecutar un perfil específico de Chrome y utilizar una función de extensión específica que básicamente abre una configuración de Chrome que he guardado (varios sitios web que se abren con dimensiones específicas en mis monitores y con colocaciones específicas)

Este es el script:

set chrome to "\"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome\""
do shell script chrome & " --profile-directory=\"Profile 6\"" & " > /dev/null 2>&1 &"

tell application "Google Chrome" to activate
delay 0.25
tell application "System Events"
    click ¬
        pop up button "Multi Layout Manager" of ¬
        toolbar 1 of group 1 of window 1 of ¬
        application process "Chrome"
    delay 0.25
    repeat 3 times
        key code 48 -- # tab key
        delay 0.2
    end repeat
    key code 36 -- # enter key
end tell

Lo que quiero ahora, es que algunas de estas webs cambien sus barras de desplazamiento para que pueda ver la parte de la web que me interesa delante de mí.

He encontrado este script que funciona pero sólo por sí mismo.

set myURL to "https://weather.com/weather/hourbyhour/l/12345"
set scrollAmount to "16" --- % down the page

tell application "Google Chrome"
    activate
    tell front window to set curTab to make new tab at after (get active tab) with properties {URL:myURL}
    tell curTab
        repeat while (loading)
            delay 1
        end repeat
        -- set the vertical scroll 
        execute javascript "h=document.documentElement.scrollHeight- 
    document.documentElement.clientHeight; window.scrollTo(0,h*" & scrollAmount & "/100)"
    end tell
end tell

Lo he intentado, pero mis conocimientos son limitados y no puedo hacer que los dos funcionen juntos.

En su forma simple, quiero que el script escoja uno de los sitios que abre el primer script y cambie su barra de desplazamiento.

Se agradecería cualquier ayuda.

ACTUALIZACIÓN

He conseguido que funcione usando este script:

delay 3
tell application "Google Chrome" to tell active tab of window 1
    execute javascript "window.scroll(0,270)"
end tell

El problema ahora es que toma la pestaña activa y aplica la función de desplazamiento. Quiero que busque otra pestaña y la aplique.

Sin embargo, la pestaña está en una ventana diferente.

¿Hay alguna forma de evitarlo?

0voto

user3589502 Puntos 11

Si quieres abrir una url de Safari en una nueva pestaña en lugar de en una nueva ventana puedes hacer

tell application "Safari"
    tell window 1
        set current tab to (make new tab with properties {URL:"$1"})
    end tell
end tell

Si quieres cambiar a una pestaña con una url específica

    tell application "Safari"
    set desired_tab to null
    set tablist to every tab of window 1
    repeat with t in tablist
        if URL of t is "https://www.google.com/" then
            set desired_tab to t
        end if
    end repeat

    if desired_tab is not equal to null then
        set current tab of window 1 to desired_tab
    end if
end tell

Pero ten cuidado, la url tiene que ser una coincidencia exacta

Consíguelo en la consola de javascript si lo necesitas con

window.location.href

Este ejemplo muestra la selección de un [https://stackoverflow.com/questions/30242098/applescript-find-open-tab-in-safari-by-name-and-open-it\]\[pestaña de safari por nombre en applescript]

0voto

Jason Marsell Puntos 81

El arreglo fue bastante sencillo. Sólo tuve que poner la ventana 2.

delay 3
tell application "Google Chrome" to tell active tab of window 2
    execute javascript "window.scroll(0,270)"
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