class Capybara::Selenium::Node

def path

def path
  path = find_xpath(XPath.ancestor_or_self).reverse
  result = []
  while (node = path.shift)
    parent = path.first
    selector = node.tag_name
    if parent
      siblings = parent.find_xpath(node.tag_name)
      selector += "[#{siblings.index(node) + 1}]" unless siblings.size == 1
    end
    result.push selector
  end
  '/' + result.reverse.join('/')
end