Skip to content
/ xpath Public
forked from teamcapybara/xpath

Ruby library for generating XPath expressions

Notifications You must be signed in to change notification settings

bdmac/xpath

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XPath

XPath is a Ruby DSL around a subset of XPath 1.0. It’s primary purpose is to facilitate writing complex XPath queries from Ruby code.

Generating expressions

To create quick, one of expressions, XPath.generate can be used:

XPath.generate { |x| x.descendant(:ul)[x.attr(:id) == 'foo'] }

However for more complex expressions, it is probably ore convenient to include the XPath module into your own class or module:

module MyXPaths
  include XPath

  def foo_ul
    descendant(:ul)[attr(:id) == 'foo']
  end

  def password_field(id)
    descendant(:input)[attr(:type) == 'password'][attr(:id) == id]
  end
end

Both ways return an XPath::Expression instance, which can be further modified. To convert the expression to a string, just call #to_s on it.

HTML

XPath comes with a set of premade XPaths for use with HTML documents.

About

Ruby library for generating XPath expressions

Resources

Stars

Watchers

Forks

Packages

No packages published