Selección de archivos para la entrada de AppleScript

2

Estoy intentando automatizar el uso de la carga de archivos de Applescript a un sitio web. He llegado casi al último paso, pero parece que no puedo obtener una ventana del Finder (selector de archivos) para responder a los scripts.

Este es el aspecto del sitio (no puedo proporcionarle el sitio real porque es un registro médico seguro).

Elprocesoparacargararchivoseshacerclicen"Agregar imágenes", que puedo hacer en Apple / Javascript y muestra una ventana del Finder (selector de archivos) como esta (nuevamente, solo puedo mostrar una parte debido a problemas de privacidad). Hay botones estándar de "elegir" y cancelar "en la parte inferior.

NopuedoencontrarunamaneradequeestaventanadelFinderrespondaaApplescript.Heestadoprobandocosascomo:

tellapplication"System Events"
    keystroke tab
end tell

y muchos otros que usan Finder, etc.

¿Alguna idea sobre cómo elegir un archivo de esta ventana? ¿O llegar a esta ventana? ¿O incluso encontrar las propiedades de esta ventana?

Gracias.

    
pregunta Jeff E 15.01.2015 - 08:56

1 respuesta

1

No es una ventana "Buscador". Es propiedad de Safari

No has dejado claro cómo sabes qué archivo elegir. Así que asumo que será parcialmente difícil de codificar en el script.

Este ejemplo asume que puedes formar una cadena de ruta al archivo.

Este ejemplo también está escrito para hacer clic y agregar una imagen a una respuesta en una de estas páginas de preguntas diferentes.

Ya sabes cómo hacer clic en los botones con Applescript / js

Pero puede utilizar las pulsaciones de tecla para ingresar el comando G + cmd + shift que abrirá una hoja 'Ir a ...' en la ventana de diálogo 'Elegir'.

Luego, pulsa la ruta de acceso a tu archivo.

Los siguientes dos botones 'Ir' y 'Elegir' son los predeterminados, por lo que puedes simplemente presionar la tecla Volver para golpearlos.

(Esta imagen se cargó utilizando el script)

activateapplication"Safari"
tell application "Safari"
    tell document 1

        do JavaScript "document.getElementsByClassName('wmd-button')[5].click()"
        delay 1

        do JavaScript "document.getElementById('filename-input').click()"
    end tell

end tell
tell application "System Events"
    keystroke "G" using {command down, shift down}
    delay 1
    keystroke "~/Desktop/image/image.png"
    delay 1
    keystroke return

    delay 1
    keystroke return

    delay 1

end tell

tell application "Safari"
    tell document 1
        do JavaScript "document.getElementById('add-picture').click()"
    end tell
end tell
    
respondido por el markhunte 15.01.2015 - 11:19

Lea otras preguntas en las etiquetas