1 votos

Usar Apple Script para abrir Chrome con un perfil específico

Utilizo múltiples instancias del navegador Chrome para diferentes perfiles, cada uno con su propia cuenta de Google. Estoy tratando de automatizar una tarea usando Applescript y Automator, y he configurado Automator para enviar un conjunto de URL a Chrome, luego ejecutar el siguiente script:

    # La entrada es la lista de URL desde la tarea anterior
on run {input, parameters}

    # Lo siguiente es un bucle de Applescript
    repeat with theURL in input
        tell application "Google Chrome" to open location theURL
    end repeat

    # Debemos devolver algo, así que simplemente devolvemos la entrada
    return input

end run

¿Hay alguna manera de especificar que quiero abrir Chrome con la versión del navegador que especifico en el "Usuario" o perfil de Chrome, es decir, como usuario XXXX@gmail.com y no como usuario ZZZZ@gmail.com?

0 votos

RE: "# Debemos devolver algo, así que simplemente devolvemos la entrada" - A menos que haya una razón explícita, es decir, la próxima acción en el flujo de trabajo necesita entrada de esta acción, entonces no hay ningún requisito, programático ni de otro tipo, para devolver nada! return input es solo parte del código de plantilla proporcionado por la acción Run AppleScript para mayor comodidad. Se puede y se debe eliminar si no es específicamente necesario por la siguiente acción en el flujo de trabajo, o si esta es la última acción en el flujo de trabajo.

0 votos

¿Cómo tienes múltiples instancias de Google Chrome abiertas? Cuando intento abrir otra instancia, por ejemplo, desde Terminal con open -n -a 'Google Chrome', simplemente se termina y abre otra ventana para la instancia anterior.

0 votos

@user3439894 Ese es exactamente el problema. No sé cómo indicar de forma programática un perfil alternativo, ya sea en la línea de comandos o en AppleScript. Puedo abrir versiones de perfil alternativas en Chrome haciendo clic en la imagen de perfil junto a los tres puntos en la parte superior derecha y eligiendo una de las "otras personas" que he agregado.

4voto

user3439894 Puntos 5883

Si estás intentando abrir múltiples ventanas en Google Chrome, cada una con un perfil diferente y abrir un montón de pestañas en cada una, entonces el siguiente ejemplo de AppleScript muestra el concepto:

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

set myProfiles to {"Default", "Profile 1"}

repeat with aProfile in myProfiles
    do shell script "open -na 'Google Chrome' --args --profile-directory=" & aProfile's quoted form
    delay 1
    tell application "Google Chrome"
        activate
        tell front window
            set URL of active tab to first item of myURLs
            delay 0.5
            repeat with i from 2 to count of myURLs
                make new tab at after (get active tab) with properties {URL:item i of myURLs}
                delay 0.5
            end repeat
            set active tab index to 1
        end tell
    end tell
    delay 1
end repeat 
  • Nota: El valor para --profile-directory= es el nombre de las carpetas en $HOME/Library/Application Support/Google/Chrome que corresponde a cada perfil, no tu nombre.

Nota: El <em>ejemplo</em> de <strong>AppleScript</strong> es solo eso y no contiene ningún manejo de <em>errores</em> como podría ser apropiado. La responsabilidad recae en el usuario de agregar cualquier manejo de <em>errores</em> como sea apropiado, necesario o deseado. Echa un vistazo a la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129232" rel="noreferrer"><strong>instrucción</strong></a> <em>try</em> y <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_control_statements.html#//apple_ref/doc/uid/TP40000983-CH6g-129657" rel="noreferrer"><strong>instrucción</strong></a> <em>error</em> de la <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html" rel="noreferrer"><strong>Guía del Lenguaje AppleScript</strong></a>. Vea también, <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_error_xmpls.html#//apple_ref/doc/uid/TP40000983-CH221-SW1" rel="noreferrer"><strong>Trabajando con Errores</strong></a>. Además, el uso del <a href="https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW10" rel="noreferrer"><strong>comando</strong></a> <em>delay</em> puede ser necesario entre eventos cuando sea apropiado, por ejemplo, <code>delay 0.5</code>, con el <em>valor</em> del <em>delay</em> ajustado apropiadamente.

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