In Files

  • lib/capybara/node/element.rb

Capybara::Node::Element

A {Capybara::Element} represents a single element on the page. It is possible to interact with the contents of this element the same as with a document:

session = Capybara::Session.new(:rack_test, my_app)

bar = session.find('#bar')              # from Capybara::Node::Finders
bar.select('Baz', :from => 'Quox')      # from Capybara::Node::Actions

{Capybara::Element} also has access to HTML attributes and other properties of the element:

bar.value
bar.text
bar[:title]

@see Capybara::Node

Public Instance Methods

[](attribute) click to toggle source

Retrieve the given attribute

element[:title] # => HTML title attribute

@param [Symbol] attribute The attribute to retrieve @return [String] The value of the attribute

 
               # File lib/capybara/node/element.rb, line 50
def [](attribute)
  base[attribute]
end
            
checked?() click to toggle source

Whether or not the element is checked.

@return [Boolean] Whether the element is checked

 
               # File lib/capybara/node/element.rb, line 121
def checked?
  base.checked?
end
            
click() click to toggle source

Click the Element

 
               # File lib/capybara/node/element.rb, line 92
def click
  base.click
end
            
drag_to(node) click to toggle source

Drag the element to the given other element.

source = page.find('#foo')
target = page.find('#bar')
source.drag_to(target)

@param [Capybara::Element] node The element to drag to

 
               # File lib/capybara/node/element.rb, line 166
def drag_to(node)
  base.drag_to(node.base)
end
            
inspect() click to toggle source
 
               # File lib/capybara/node/element.rb, line 170
def inspect
  %Q(#<Capybara::Element tag="#{tag_name}" path="#{path}">)
rescue NotSupportedByDriverError
  %Q(#<Capybara::Element tag="#{tag_name}">)
end
            
native() click to toggle source

@return [Object] The native element from the driver, this allows access to driver specific methods

 
               # File lib/capybara/node/element.rb, line 29
def native
  base.native
end
            
path() click to toggle source

An XPath expression describing where on the page the element can be found

@return [String] An XPath expression

 
               # File lib/capybara/node/element.rb, line 141
def path
  base.path
end
            
select_option() click to toggle source

Select this node if is an option element inside a select tag

 
               # File lib/capybara/node/element.rb, line 76
def select_option
  base.select_option
end
            
selected?() click to toggle source

Whether or not the element is selected.

@return [Boolean] Whether the element is selected

 
               # File lib/capybara/node/element.rb, line 131
def selected?
  base.selected?
end
            
set(value) click to toggle source

Set the value of the form element to the given value.

@param [String] value The new value

 
               # File lib/capybara/node/element.rb, line 68
def set(value)
  base.set(value)
end
            
tag_name() click to toggle source

@return [String] The tag name of the element

 
               # File lib/capybara/node/element.rb, line 100
def tag_name
  base.tag_name
end
            
text() click to toggle source

@return [String] The text of the element

 
               # File lib/capybara/node/element.rb, line 37
def text
  base.text
end
            
trigger(event) click to toggle source

Trigger any event on the current element, for example mouseover or focus events. Does not work in Selenium.

@param [String] event The name of the event to trigger

 
               # File lib/capybara/node/element.rb, line 152
def trigger(event)
  base.trigger(event)
end
            
unselect_option() click to toggle source

Unselect this node if is an option element inside a multiple select tag

 
               # File lib/capybara/node/element.rb, line 84
def unselect_option
  base.unselect_option
end
            
value() click to toggle source

@return [String] The value of the form element

 
               # File lib/capybara/node/element.rb, line 58
def value
  base.value
end
            
visible?() click to toggle source

Whether or not the element is visible. Not all drivers support CSS, so the result may be inaccurate.

@return [Boolean] Whether the element is visible

 
               # File lib/capybara/node/element.rb, line 111
def visible?
  base.visible?
end