require "selenium-webdriver" def set_value(args) element = @driver.find_element(:id, args.keys.first) element.clear element.send_keys args.values.first end def submit_form element = @driver.find_element(:id, 'cphContent_ContentPlaceHolder1_btnEnter') element.click end def register_code(code) set_value('cphContent_ContentPlaceHolder1_txtEmail' => 'email@example.com') set_value('cphContent_ContentPlaceHolder1_txtCode' => code) submit_form end @driver = Selenium::WebDriver.for :firefox @driver.navigate.to "http://cupsofhope.com/" sleep(8) # wait for animation to finish %W{DOMKXM LFRTYK}.each do |code| register_code(code) sleep(1) # wait for thank you popover to appear element = @driver.find_element(:id, 'cboxClose') element.click end @driver.quit