¿Usando Autómata / AppleScript para subir archivos a un formulario web?

1

Tengo un montón de archivos que quiero subir a la página web. Lamentablemente, el formulario web para cargar solo me permite especificar uno a la vez (se genera y aparece el cuadro de diálogo 'abrir archivo'). ¿Hay una manera fácil de hacer esto con alguna combinación de automator / applescirpt?

drevicko
fuente
Esto es muy específico del sitio, ¿puede agregar algunos detalles sobre el sitio (dirección si es pública, capturas de pantalla)?
nohillside
Es mind42.com. Está impulsado por html / javascript. Esperaba lograr una serie de clics en posiciones específicas de la pantalla (¿qué tal vez podría grabar con el automatizador?), El último de los cuales abriría un cuadro de diálogo de 'carga de archivos'. Luego navegue a la carpeta correcta y quizás pegue el nombre del siguiente archivo para cargar. Esto se repetiría para cada uno de los archivos.
drevicko

Respuestas:

2

Seguí a @drevickos muy buenas instrucciones. No lo gestioné con Safari, pero Firefox funciona perfectamente. Debajo de las descargas para el archivo de servicio UploadFilesWebFormy el archivo de Automator UploadFirefox3.

Con estos archivos, logré cargar varios archivos a SAS en AWS. Para cualquier otro sitio web, debe ajustar:

  • Watch me doprocedimiento para ajustar su formulario web en el UploadFirefox3archivo
  • Lo delaynecesario para cargar especificado en el UploadFirefox3archivo

UploadFilesWebForm.workflow.zip http://www45.zippyshare.com/v/QQm0SKJ5/file.html UploadFirefox3.workflow.zip http://www45.zippyshare.com/v/bHyKGi2g/file.html

BalassaSamuelson
fuente
THX: tenía la intención de hacerlo durante mucho tiempo, ¡pero la vida sigue interponiéndose! (:
drevicko
Esos enlaces están muertos, pero los flujos de trabajo parecen interesantes ...
Konchog
1

Ok, logré que el automatizador hiciera lo que quería con un poco de ayuda de grep;)

Lo hice con un 'flujo de trabajo' y un servicio de "archivos y carpetas" en el "buscador". El servicio llama al flujo de trabajo con cada uno de los nombres de archivo seleccionados.

Esto es lo que hace el servicio:

  • Run Shell Scriptcon la entrada Pass to stdiny el script grep -o '[^/]*$' : el servicio recibe las rutas completas de los archivos seleccionados en el buscador, solo quiero los nombres de los archivos, por lo que esto elimina el bit de ruta.
  • Launch Applicationcon firefox - esta parece ser la mejor manera de cambiar de aplicación (incluso si ya están abiertas ...)
  • Run Workflow- in batchesde 1usar un 1flujo de trabajo a la vez, con "esperar a que termine el flujo de trabajo" marcado.

El in batchesmodo parece procesar el ingreso de texto línea por línea. Cada salida de línea grepcontiene un nombre de archivo, por lo que el segundo flujo de trabajo se llama una vez con cada nombre de archivo. Tenga en cuenta que se pasa la lista de nombres de archivo Launch Application.

Esto es lo que hace el flujo de trabajo:

  • Copy to Clipboard
  • un grabado Watch Me Do:
    • una serie de clics para abrir el cuadro de diálogo "subir archivo"
    • un clic para enfocar su cuadro de búsqueda, \
    • pegar (el nombre del archivo)
    • seleccione el archivo superior encontrado
    • haga clic en 'abrir'
    • Una serie de clics para cargar el archivo y devolver la página al mismo estado en el que comenzamos

Hubo algunos contratiempos en el camino.

  • Primero solía command-Vpegar, pero por alguna razón no era confiable, así que terminé usando pegar en el menú de edición.
  • Tuve que tener cuidado de dejar suficiente tiempo entre clics para el peor de los casos de páginas html y abrir diálogos, etc.
  • Cuando el flujo se bloqueaba (por lo general, al no estar sincronizado con el navegador), a menudo terminaba con el navegador atascado con el cuadro de diálogo 'subir archivo' abierto y sin respuesta. Para que vuelva a responder, descubrí que moverlo era suficiente (es decir, arrastrar un poco la barra de título).
drevicko
fuente
¿Hay alguna posibilidad de que pueda compartir su archivo Automator? ¡Gracias!
Matt Sephton
Feliz de compartirlo, ¿conoces un buen lugar para hacerlo? También hice una pregunta ...
drevicko
¿Podrías compartirlo conmigo también? Esto es exactamente lo que estaba buscando. ¿Probablemente un host de un clic funcionaría mejor?
BalassaSamuelson
@BalassaSamuelson Me temo que estoy un poco ocupado en este momento ... Si logras armarlo usando las instrucciones anteriores, ¿tal vez podrías compartirlo en algún lugar y proporcionar un enlace?
drevicko