# File lib/webrat/selenium/selenium_session.rb, line 155
    def wait_for(params={})
      timeout = params[:timeout] || 5
      message = params[:message] || "Timeout exceeded"

      begin_time = Time.now

      while (Time.now - begin_time) < timeout
        value = nil

        begin
          value = yield
        rescue Exception => e
          unless is_ignorable_wait_for_exception?(e)
            raise e
          end
        end

        return value if value

        sleep 0.25
      end

      error_message = "#{message} (after #{timeout} sec)"
      
      if $browser && Webrat.configuration.selenium_verbose_output
        error_message += "\n\nHTML of the page was:\n\n\#{selenium.get_html_source}\"\n"
      end

      raise Webrat::TimeoutError.new(error_message)
      true
    end