Module: PageObject::Platforms::LdsWatirWebDriver::Element

Defined in:
lib/page-object/platforms/lds_watir_webdriver/element.rb

Instance Method Summary collapse

Instance Method Details

#==(other) ⇒ Object

compare this element to another to determine if they are equal



62
63
64
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 62

def ==(other)
  element == other.element
end

#attribute(attribute_name) ⇒ String?

Get the value of a the given attribute of the element. Will return the current value, even if this has been modified after the page has been loaded. More exactly, this method will return the value of the given attribute, unless that attribute is not present, in which case the value of the property with the same name is returned. If neither value is set, nil is returned. The “style” attribute is converted as best can be to a text representation with a trailing semi-colon. The following are deemed to be “boolean” attributes, and will return either “true” or “false”:

async, autofocus, autoplay, checked, compact, complete, controls, declare, defaultchecked, defaultselected, defer, disabled, draggable, ended, formnovalidate, hidden, indeterminate, iscontenteditable, ismap, itemscope, loop, multiple, muted, nohref, noresize, noshade, novalidate, nowrap, open, paused, pubdate, readonly, required, reversed, scoped, seamless, seeking, selected, spellcheck, truespeed, willvalidate

Finally, the following commonly mis-capitalized attribute/property names are evaluated as expected:

class, readonly

Parameters:

Returns:

  • (String, nil)

    attribute value



105
106
107
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 105

def attribute(attribute_name)
  element.attribute_value attribute_name
end

#clearObject

clear the contents of the element



229
230
231
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 229

def clear
  element.clear
end

#double_clickObject

double click the element



126
127
128
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 126

def double_click
  element.double_click
end

#exists?Boolean

return true if an element exists

Returns:

  • (Boolean)


21
22
23
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 21

def exists?
  element.exists?
end

#fire_event(event_name) ⇒ Object

Fire the provided event on the current element



112
113
114
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 112

def fire_event(event_name)
  element.fire_event(event_name)
end

#flashObject

flash the element by temporarily changing the background color



28
29
30
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 28

def flash
  element.flash
end

#focusObject

Set the focus to the current element



143
144
145
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 143

def focus
  element.focus
end

#hoverObject

hover over the element



119
120
121
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 119

def hover
  element.hover
end

#htmlString

Get the html for the element

Returns:



46
47
48
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 46

def html
  element.html
end

#idObject

get the id of the element



236
237
238
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 236

def id
  element.id
end

#parentObject

find the parent element



133
134
135
136
137
138
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 133

def parent
  parent = element.parent
  type = element.type if parent.tag_name.to_sym == :input
  cls = ::PageObject::Elements.element_class_for(parent.tag_name, type)
  cls.new(parent, :platform => :lds_watir_webdriver)
end

#scroll_into_viewObject

Scroll until the element is viewable



243
244
245
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 243

def scroll_into_view
  element.wd.location_once_scrolled_into_view
end

#select_text(text) ⇒ Object

Select the provided text



150
151
152
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 150

def select_text(text)
  element.select_text text
end

#send_keys(*args) ⇒ Object

Send keystrokes to this element

Examples:

element.send_keys "foo"                     #=> value: 'foo'
element.send_keys "tet", :arrow_left, "s"   #=> value: 'test'
element.send_keys [:control, 'a'], :space   #=> value: ' '

Parameters:

See Also:

  • Selenium::WebDriver::Keys::KEYS


222
223
224
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 222

def send_keys(*args)
  element.send_keys(*args)
end

#tag_nameString

Get the tag name of this element

Returns:



71
72
73
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 71

def tag_name
  element.tag_name
end

#textString

Get the text for the element

Returns:



37
38
39
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 37

def text
  element.text
end

#valueString

Get the value of this element

Returns:



55
56
57
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 55

def value
  element.value
end

#visible?Boolean

return true if an element is visible

Returns:

  • (Boolean)


14
15
16
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 14

def visible?
  element.present?
end

#wait_until(timeout = ::PageObject.default_element_wait, message = nil, &block) ⇒ Object

Waits until the block returns true

Parameters:

  • (defaults (Integer)

    to: 5) seconds to wait before timing out

  • the (String)

    message to display if the event timeouts

  • the

    block to execute when the event occurs



205
206
207
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 205

def wait_until(timeout=::PageObject.default_element_wait, message=nil, &block)
  Object::Watir::Wait.until(timeout, message, &block)
end

#when_not_present(timeout = ::PageObject.default_element_wait) ⇒ Object

Waits until the element is not present

timing out

Parameters:

  • (defaults (Integer)

    to: 5) seconds to wait before



170
171
172
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 170

def when_not_present(timeout=::PageObject.default_element_wait)
  element.wait_while_present(timeout)
end

#when_not_visible(timeout = ::PageObject.default_element_wait) ⇒ Object

Waits until the element is not visible

Parameters:

  • (defaults (Integer)

    to: 5) seconds to wait before timing out



191
192
193
194
195
196
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 191

def when_not_visible(timeout=::PageObject.default_element_wait)
  Object::Watir::Wait.while(timeout, "Element still visible after #{timeout} seconds") do
    visible?
  end
  self
end

#when_present(timeout = ::PageObject.default_element_wait) ⇒ Object

Waits until the element is present

Parameters:

  • (defaults (Integer)

    to: 5) seconds to wait before timing out



159
160
161
162
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 159

def when_present(timeout=::PageObject.default_element_wait)
  element.wait_until_present(timeout)
  self
end

#when_visible(timeout = ::PageObject.default_element_wait) ⇒ Object

Waits until the element is visible

Parameters:

  • (defaults (Integer)

    to: 5) seconds to wait before timing out



179
180
181
182
183
184
# File 'lib/page-object/platforms/lds_watir_webdriver/element.rb', line 179

def when_visible(timeout=::PageObject.default_element_wait)
  Object::Watir::Wait.until(timeout, "Element was not visible in #{timeout} seconds") do
    visible?
  end
  self
end