Mechanize
Mechanize is a ruby library that makes automated web interaction easy
...Mechanize#transact runs the given block and then resets the page history. I.e. after the block has been executed, you're back at the original page; no need to count how many times to call the back method at the end of a loop (while accounting for possible exceptions).