module Element::FindElement

Public Instance Methods

element(element_name, locator, error=true) click to toggle source

@method element(element_name, locator, error=true) @param element_name [:Symbol] @param locator [Hash] @param error [Boolean] – default true @return [Selenium::WebDriver::Element] @return [Boolean false] – if element not found and error parameter = false

# File lib/web-object/element.rb, line 16
def element(element_name, locator, error=true)
  send(:define_method, element_name) do
    wait = Selenium::WebDriver::Wait.new(:timeout => 0.5)
    begin
      wait.until { @driver.find_element(locator) }
    rescue Selenium::WebDriver::Error::TimeoutError
      if error
        raise "Could not find element using '#{locator.first.first}=#{locator.first.last}' strategy"
      else
        return false
      end
    end
  end
end