Module: Element::FindElement

Defined in:
lib/web-object/element.rb

Instance Method Summary collapse

Instance Method Details

#element(element_name, locator, error = true) ⇒ Selenium::WebDriver::Element, Boolean false

Parameters:

  • element_name (:Symbol)
  • locator (Hash)
  • error (Boolean) (defaults to: true)

    – default true

Returns:

  • (Selenium::WebDriver::Element)
  • (Boolean false)

    – if element not found and error parameter = false



16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 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