Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I have a bunch of files I want to upload to web page. Unfortunately the web form for uploading only allows me to specify one at a time (it spawns and 'open file' dialog). Is there an easy way to do this with some combination of automator/applescirpt?

share|improve this question
    
This is very site-specific, can you add some details about the site (address if public, screenshots)? –  patrix Feb 15 '13 at 7:36
    
It's mind42.com. It's html/javascript driven. I was hoping to achieve a series of clicks at specific screen positions (which I could perhaps record with automator?), the last of which would open a 'file upload' dialog. Then navigate to the correct folder and perhaps paste in the name of the next file to upload. This would be repeated for each of the files. –  drevicko Feb 16 '13 at 0:26
add comment

1 Answer 1

Ok, I managed to get automator to do what I wanted, with a little help from grep ;)

I did it with a 'workflow' and a "files and folders" in "finder" service. The service calls the workflow with each of the selected file names.

Here's what the service does:

  • Run Shell Script with Pass input to stdin and the script grep -o '[^/]*$' -- the service receives the full paths of the files selected in the finder, I only want the file names, so this removes the path bit.
  • Launch Application with firefox -- this seems to be the best way to switch applications (even if they're already open..)
  • Run Workflow - in batches of 1 at a time using 1 workflow, with "wait for workflow to finish" ticked.

The in batches mode appears to process text input line by line. Each line output by grep contains a file name, so the second workflow is called once with each file name. Note that the list of file names is passed through Launch Application.

Here's what the workflow does:

  • Copy to Clipboard
  • a recorded Watch Me Do:
    • a series of clicks to get the 'upload file' dialog up
    • a click to focus it's search box,\
    • paste (the file name)
    • select the top found file
    • click 'open'
    • a series of clicks to upload the file and return the page to the same state in which we started

There were a few hiccups along the way.

  • First I used command-V to paste, but for some reason that was unreliable, so I ended up using paste from the edit menu instead.
  • I had to be careful to leave enough time between clicks for worst-case rendering of html pages and opening dialogs etc..
  • When the flow crashed (usually by getting out of sync with the browser), I often ended up with the browser stuck with the 'upload file' dialog open and unresponsive. To get it responsive again, I found that moving it sufficed (ie: dragging it's title bar a bit).
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.