1 votos

Automator Applescript maneja inconsistentemente las pestañas de Google Chrome

Quiero hacer una aplicación de Automator que cierre cualquier pestaña abierta en Google Chrome y cargue 3 pestañas específicas. Debería cargar estas 3 pestañas independientemente de si Google Chrome ya estaba en uso o no.

Para lograr esto mi aplicación ejecuta el siguiente Applescript:

# Close whatever is already open in Chrome
tell application "Google Chrome"
    close every window
end tell

A continuación, utiliza la acción "Get Specified URLs" para entender la lista de URLs que querré cargar como pestañas. Finalmente, estas URLs se pasan al siguiente Applescript para su carga:

# input is the list of url's from the previous task
on run {input, parameters}

    # The below is an applescript loop
    repeat with theURL in input
        tell application "Google Chrome" to open location theURL
    end repeat

    # We must return something so we just return the input
    return input

 end run

Cuando lo ejecuto, a veces funciona. Otras veces no hace nada (Chrome se ejecuta pero no tiene ninguna ventana o pestaña cargada) o abre las 3 pestañas nuevas junto con las que ya estaban abiertas cuando se ejecutó la aplicación.

Al principio pensé que tal vez estaba siendo afectado por una preferencia del navegador que le dice a Chrome lo que le gustaría tener abierto en el inicio. Inicialmente tenía Chrome configurado para abrir Gmail. Cambié esta preferencia para abrir sólo una nueva pestaña en blanco. Esto no afectó a los resultados (excepto que cuando la aplicación se ejecuta correctamente ahora hay una nueva pestaña en blanco adicional abierta, lo que no es ideal pero no me importa mucho).

1voto

user3439894 Puntos 5883

Si un aplicación es lo que quiere, entonces lo siguiente ejemplo AppleScript código puede guardarse como un AppleScript aplicación en Script Editor :

set myURLs to {"https://www.example.com", ¬
    "https://www.apple.com", ¬
    "https://apple.stackexchange.com"}

tell application "Google Chrome"
    activate
    close windows
    set winID to id of (make new window)
    tell window id winID
        set URL of active tab to first item of myURLs
        repeat with i from 2 to (length of myURLs)
            make new tab at end of tabs ¬
                with properties {URL:item i of myURLs}
        end repeat
        set active tab index to 1
    end tell
end tell

0voto

wch1zpink Puntos 11

Aunque ya se haya seleccionado otra respuesta como la aceptada, nunca está de más ver técnicas alternativas, que devuelven los mismos resultados deseados.

property theURL : {"https://apple.stackexchange.com/questions/tagged/applescript", ¬
    "https://stackexchange.com/", "https://apple.stackexchange.com"}

tell application "Google Chrome"
    activate
    close every window
    tell its (make new window)
        set URL of tab 1 to theURL's item 1
        repeat with i from 2 to count of theURL
            set URL of (make new tab) to theURL's item i
        end repeat
        set active tab index to 1
    end tell
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