Class Capybara::Node::Element
In: lib/capybara/node/element.rb
Parent: Base

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

Methods

[]   all   checked?   click   drag_to   find   first   inspect   native   new   path   reload   select_option   selected?   set   tag_name   text   trigger   unselect_option   value   visible?  

Public Class methods

Public Instance methods

Retrieve the given attribute

    element[:title] # => HTML title attribute

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

Whether or not the element is checked.

@return [Boolean] Whether the element is checked

Click the Element

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

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

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

@return [String] An XPath expression

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

Whether or not the element is selected.

@return [Boolean] Whether the element is selected

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

@param [String] value The new value

@return [String] The tag name of the element

@return [String] The text of the element

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

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

@return [String] The value of the form element

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

[Validate]