Class: Capybara::Query

Inherits:
Capybara::Queries::BaseQuery
  • Object
show all
Defined in:
lib/appium_capybara/ext/query_ext.rb

Instance Method Summary collapse

Instance Method Details

#resolve_for(node, exact = nil) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/appium_capybara/ext/query_ext.rb', line 3

def resolve_for(node, exact = nil)
  node.synchronize do
    children = if selector.format == :css
                 node.find_css(css)
               elsif selector.format == :xpath
                 node.find_xpath(xpath(exact))
               else
                 node.find_custom(selector.format, locator)
               end.map do |child|
      if node.is_a?(Capybara::Node::Base)
        Capybara::Node::Element.new(node.session, child, node, self)
      else
        Capybara::Node::Simple.new(child)
      end
    end
    Capybara::Result.new(children, self)
  end
end