Class: Capybara::Driver::Webkit::Node
- Inherits:
-
Node
- Object
- Node
- Capybara::Driver::Webkit::Node
- Defined in:
- lib/capybara/driver/webkit/node.rb
Instance Method Summary collapse
- #[](name) ⇒ Object
- #browser ⇒ Object
- #checked? ⇒ Boolean
- #click ⇒ Object
- #disabled? ⇒ Boolean
- #drag_to(element) ⇒ Object
- #find(xpath) ⇒ Object
- #invoke(name, *args) ⇒ Object
- #multiple_select? ⇒ Boolean
- #path ⇒ Object
- #select_option ⇒ Object
- #selected? ⇒ Boolean
- #set(value) ⇒ Object
- #tag_name ⇒ Object
- #text ⇒ Object
- #trigger(event) ⇒ Object
- #unselect_option ⇒ Object
- #value ⇒ Object
- #visible? ⇒ Boolean
Instance Method Details
#[](name) ⇒ Object
7 8 9 10 11 12 13 14 |
# File 'lib/capybara/driver/webkit/node.rb', line 7 def [](name) value = invoke("attribute", name) if name == 'checked' || name == 'disabled' value == 'true' else value end end |
#browser ⇒ Object
91 92 93 |
# File 'lib/capybara/driver/webkit/node.rb', line 91 def browser driver.browser end |
#checked? ⇒ Boolean
65 66 67 |
# File 'lib/capybara/driver/webkit/node.rb', line 65 def checked? self['checked'] end |
#click ⇒ Object
45 46 47 |
# File 'lib/capybara/driver/webkit/node.rb', line 45 def click invoke "click" end |
#disabled? ⇒ Boolean
69 70 71 |
# File 'lib/capybara/driver/webkit/node.rb', line 69 def disabled? self['disabled'] end |
#drag_to(element) ⇒ Object
49 50 51 |
# File 'lib/capybara/driver/webkit/node.rb', line 49 def drag_to(element) invoke 'dragTo', element.native end |
#find(xpath) ⇒ Object
81 82 83 84 85 |
# File 'lib/capybara/driver/webkit/node.rb', line 81 def find(xpath) invoke("findWithin", xpath).split(',').map do |native| self.class.new(driver, native) end end |
#invoke(name, *args) ⇒ Object
87 88 89 |
# File 'lib/capybara/driver/webkit/node.rb', line 87 def invoke(name, *args) browser.command "Node", name, native, *args end |
#multiple_select? ⇒ Boolean
95 96 97 |
# File 'lib/capybara/driver/webkit/node.rb', line 95 def multiple_select? self.tag_name == "select" && self["multiple"] == "multiple" end |
#path ⇒ Object
73 74 75 |
# File 'lib/capybara/driver/webkit/node.rb', line 73 def path raise Capybara::NotSupportedByDriverError end |
#select_option ⇒ Object
32 33 34 |
# File 'lib/capybara/driver/webkit/node.rb', line 32 def select_option invoke "selectOption" end |
#selected? ⇒ Boolean
61 62 63 |
# File 'lib/capybara/driver/webkit/node.rb', line 61 def selected? invoke("selected") == "true" end |
#set(value) ⇒ Object
28 29 30 |
# File 'lib/capybara/driver/webkit/node.rb', line 28 def set(value) invoke "set", value end |
#tag_name ⇒ Object
53 54 55 |
# File 'lib/capybara/driver/webkit/node.rb', line 53 def tag_name invoke "tagName" end |
#text ⇒ Object
3 4 5 |
# File 'lib/capybara/driver/webkit/node.rb', line 3 def text invoke "text" end |
#trigger(event) ⇒ Object
77 78 79 |
# File 'lib/capybara/driver/webkit/node.rb', line 77 def trigger(event) invoke "trigger", event end |
#unselect_option ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/capybara/driver/webkit/node.rb', line 36 def unselect_option select = find("ancestor::select").first if select.multiple_select? invoke "unselectOption" else raise Capybara::UnselectNotAllowed end end |
#value ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/capybara/driver/webkit/node.rb', line 16 def value if multiple_select? self.find(".//option").select do |option| option["selected"] == "selected" end.map do |option| option.value end else invoke "value" end end |
#visible? ⇒ Boolean
57 58 59 |
# File 'lib/capybara/driver/webkit/node.rb', line 57 def visible? invoke("visible") == "true" end |