Class: Selenium::WebDriver::Element
- Inherits:
-
Object
- Object
- Selenium::WebDriver::Element
- Includes:
- Find
- Defined in:
- lib/selenium/webdriver/element.rb
Constant Summary
Constants included from Find
Instance Attribute Summary collapse
-
#bridge ⇒ Object
readonly
Returns the value of attribute bridge.
Instance Method Summary collapse
-
#attribute(name) ⇒ String?
(also: #[])
Get the value of the given attribute.
-
#clear ⇒ Object
Clear this element.
-
#click ⇒ Object
Click the element.
-
#displayed? ⇒ Boolean
Is the element displayed?.
-
#drag_and_drop_by(right_by, down_by) ⇒ Object
Drag and drop this element.
-
#drag_and_drop_on(other) ⇒ Object
Drag and drop this element on the given element.
-
#enabled? ⇒ Boolean
Is the element enabled?.
-
#hover ⇒ Object
Hover over this element.
-
#initialize(bridge, id) ⇒ Element
constructor
Creates a new Element.
- #inspect ⇒ Object
-
#location ⇒ WebDriver::Point
Get the location of this element.
-
#ref ⇒ Object
for Find and execute_script.
-
#select ⇒ Object
Select this element.
-
#selected? ⇒ Boolean
Is the element selected?.
-
#send_keys(*args) ⇒ Object
(also: #send_key)
Send keystrokes to this element.
-
#size ⇒ WebDriver::Dimension
Get the size of this element.
-
#style(prop) ⇒ Object
Get the value of the given CSS property.
-
#submit ⇒ Object
Submit this element.
-
#tag_name ⇒ String
Get the tag name of this element.
-
#text ⇒ String
Get the text content of this element.
-
#to_json(*args) ⇒ Object
Convert to a WebElement JSON Object for transmission over the wire.
-
#toggle ⇒ Object
Toggle this element.
-
#value ⇒ String
Get the value of this element.
Methods included from Find
Constructor Details
#initialize(bridge, id) ⇒ Element
Creates a new Element
14 15 16 |
# File 'lib/selenium/webdriver/element.rb', line 14 def initialize(bridge, id) @bridge, @id = bridge, id end |
Instance Attribute Details
#bridge ⇒ Object (readonly)
Returns the value of attribute bridge.
6 7 8 |
# File 'lib/selenium/webdriver/element.rb', line 6 def bridge @bridge end |
Instance Method Details
#attribute(name) ⇒ String? Also known as: []
Get the value of the given attribute
59 60 61 |
# File 'lib/selenium/webdriver/element.rb', line 59 def attribute(name) bridge.getElementAttribute @id, name end |
#clear ⇒ Object
Clear this element
106 107 108 |
# File 'lib/selenium/webdriver/element.rb', line 106 def clear bridge.clearElement @id end |
#click ⇒ Object
Click the element
26 27 28 |
# File 'lib/selenium/webdriver/element.rb', line 26 def click bridge.clickElement @id end |
#displayed? ⇒ Boolean
Is the element displayed?
136 137 138 |
# File 'lib/selenium/webdriver/element.rb', line 136 def displayed? bridge.isElementDisplayed @id end |
#drag_and_drop_by(right_by, down_by) ⇒ Object
Drag and drop this element
209 210 211 |
# File 'lib/selenium/webdriver/element.rb', line 209 def drag_and_drop_by(right_by, down_by) bridge.dragElement @id, right_by, down_by end |
#drag_and_drop_on(other) ⇒ Object
Drag and drop this element on the given element
219 220 221 222 223 224 225 226 227 |
# File 'lib/selenium/webdriver/element.rb', line 219 def drag_and_drop_on(other) current_location = location() destination = other.location right = destination.x - current_location.x down = destination.y - current_location.y drag_and_drop_by right, down end |
#enabled? ⇒ Boolean
Is the element enabled?
116 117 118 |
# File 'lib/selenium/webdriver/element.rb', line 116 def enabled? bridge.isElementEnabled @id end |
#hover ⇒ Object
Hover over this element. Not applicable to all browsers.
176 177 178 |
# File 'lib/selenium/webdriver/element.rb', line 176 def hover bridge.hoverOverElement @id end |
#inspect ⇒ Object
18 19 20 |
# File 'lib/selenium/webdriver/element.rb', line 18 def inspect '#<%s:0x%x id=%s tag_name=%s>' % [self.class, hash*2, @id.inspect, tag_name.inspect] end |
#location ⇒ WebDriver::Point
Get the location of this element.
186 187 188 |
# File 'lib/selenium/webdriver/element.rb', line 186 def location bridge.getElementLocation @id end |
#ref ⇒ Object
for Find and execute_script
254 255 256 |
# File 'lib/selenium/webdriver/element.rb', line 254 def ref @id end |
#select ⇒ Object
Select this element
144 145 146 |
# File 'lib/selenium/webdriver/element.rb', line 144 def select bridge.setElementSelected @id end |
#selected? ⇒ Boolean
Is the element selected?
126 127 128 |
# File 'lib/selenium/webdriver/element.rb', line 126 def selected? bridge.isElementSelected @id end |
#send_keys(*args) ⇒ Object Also known as: send_key
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: ' '
87 88 89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/selenium/webdriver/element.rb', line 87 def send_keys(*args) args.each do |arg| case arg when Symbol arg = Keys[arg] when Array arg = arg.map { |e| e.kind_of?(Symbol) ? Keys[e] : e }.join arg << Keys[:null] end bridge.sendKeysToElement(@id, arg.to_s) end end |
#size ⇒ WebDriver::Dimension
Get the size of this element
196 197 198 |
# File 'lib/selenium/webdriver/element.rb', line 196 def size bridge.getElementSize @id end |
#style(prop) ⇒ Object
Get the value of the given CSS property
168 169 170 |
# File 'lib/selenium/webdriver/element.rb', line 168 def style(prop) bridge.getElementValueOfCssProperty @id, prop end |
#submit ⇒ Object
Submit this element
152 153 154 |
# File 'lib/selenium/webdriver/element.rb', line 152 def submit bridge.submitElement @id end |
#tag_name ⇒ String
Get the tag name of this element
36 37 38 |
# File 'lib/selenium/webdriver/element.rb', line 36 def tag_name bridge.getElementTagName @id end |
#text ⇒ String
Get the text content of this element
69 70 71 |
# File 'lib/selenium/webdriver/element.rb', line 69 def text bridge.getElementText @id end |
#to_json(*args) ⇒ Object
Convert to a WebElement JSON Object for transmission over the wire.
265 266 267 |
# File 'lib/selenium/webdriver/element.rb', line 265 def to_json(*args) { :ELEMENT => @id }.to_json(*args) end |
#toggle ⇒ Object
Toggle this element
160 161 162 |
# File 'lib/selenium/webdriver/element.rb', line 160 def toggle bridge.toggleElement @id end |
#value ⇒ String
Get the value of this element
46 47 48 |
# File 'lib/selenium/webdriver/element.rb', line 46 def value bridge.getElementValue @id end |