Class: Capybara::Driver::Webkit::Node
- Inherits:
-
Node
- Object
- Node
- Capybara::Driver::Webkit::Node
- Defined in:
- lib/capybara/driver/webkit/node.rb
Constant Summary
- NBSP =
"\xC2\xA0"
Instance Method Summary (collapse)
- - (Object) [](name)
- - (Boolean) allow_unattached_nodes?
- - (Boolean) attached?
- - (Boolean) automatic_reload?
- - (Object) browser
- - (Boolean) checked?
- - (Object) click
- - (Boolean) disabled?
- - (Object) drag_to(element)
- - (Object) find(xpath)
- - (Object) invoke(name, *args)
- - (Boolean) multiple_select?
- - (Object) path
- - (Object) select_option
- - (Boolean) selected?
- - (Object) set(value)
- - (Object) submit(opts = {})
- - (Object) tag_name
- - (Object) text
- - (Object) trigger(event)
- - (Object) unselect_option
- - (Object) value
- - (Boolean) visible?
Instance Method Details
- (Object) [](name)
10 11 12 13 14 15 16 17 |
# File 'lib/capybara/driver/webkit/node.rb', line 10 def [](name) value = invoke("attribute", name) if name == 'checked' || name == 'disabled' value == 'true' else value end end |
- (Boolean) allow_unattached_nodes?
98 99 100 |
# File 'lib/capybara/driver/webkit/node.rb', line 98 def allow_unattached_nodes? !automatic_reload? end |
- (Boolean) attached?
106 107 108 |
# File 'lib/capybara/driver/webkit/node.rb', line 106 def attached? browser.command("Node", "isAttached", native) == "true" end |
- (Boolean) automatic_reload?
102 103 104 |
# File 'lib/capybara/driver/webkit/node.rb', line 102 def automatic_reload? Capybara.respond_to?(:automatic_reload) && Capybara.automatic_reload end |
- (Object) browser
110 111 112 |
# File 'lib/capybara/driver/webkit/node.rb', line 110 def browser driver.browser end |
- (Boolean) checked?
64 65 66 |
# File 'lib/capybara/driver/webkit/node.rb', line 64 def checked? self['checked'] end |
- (Object) click
44 45 46 |
# File 'lib/capybara/driver/webkit/node.rb', line 44 def click invoke "click" end |
- (Boolean) disabled?
68 69 70 |
# File 'lib/capybara/driver/webkit/node.rb', line 68 def disabled? self['disabled'] end |
- (Object) drag_to(element)
48 49 50 |
# File 'lib/capybara/driver/webkit/node.rb', line 48 def drag_to(element) invoke 'dragTo', element.native end |
- (Object) find(xpath)
84 85 86 87 88 |
# File 'lib/capybara/driver/webkit/node.rb', line 84 def find(xpath) invoke("findWithin", xpath).split(',').map do |native| self.class.new(driver, native) end end |
- (Object) invoke(name, *args)
90 91 92 93 94 95 96 |
# File 'lib/capybara/driver/webkit/node.rb', line 90 def invoke(name, *args) if allow_unattached_nodes? || attached? browser.command "Node", name, native, *args else raise Capybara::Driver::Webkit::NodeNotAttachedError end end |
- (Boolean) multiple_select?
114 115 116 |
# File 'lib/capybara/driver/webkit/node.rb', line 114 def multiple_select? self.tag_name == "select" && self["multiple"] == "multiple" end |
- (Object) path
72 73 74 |
# File 'lib/capybara/driver/webkit/node.rb', line 72 def path invoke "path" end |
- (Object) select_option
31 32 33 |
# File 'lib/capybara/driver/webkit/node.rb', line 31 def select_option invoke "selectOption" end |
- (Boolean) selected?
60 61 62 |
# File 'lib/capybara/driver/webkit/node.rb', line 60 def selected? invoke("selected") == "true" end |
- (Object) set(value)
27 28 29 |
# File 'lib/capybara/driver/webkit/node.rb', line 27 def set(value) invoke "set", value end |
- (Object) submit(opts = {})
76 77 78 |
# File 'lib/capybara/driver/webkit/node.rb', line 76 def submit(opts = {}) invoke "submit" end |
- (Object) tag_name
52 53 54 |
# File 'lib/capybara/driver/webkit/node.rb', line 52 def tag_name invoke "tagName" end |
- (Object) text
6 7 8 |
# File 'lib/capybara/driver/webkit/node.rb', line 6 def text invoke("text").gsub(NBSP, ' ').gsub(/\s+/u, ' ').strip end |
- (Object) trigger(event)
80 81 82 |
# File 'lib/capybara/driver/webkit/node.rb', line 80 def trigger(event) invoke "trigger", event end |
- (Object) unselect_option
35 36 37 38 39 40 41 42 |
# File 'lib/capybara/driver/webkit/node.rb', line 35 def unselect_option select = find("ancestor::select").first if select.multiple_select? invoke "unselectOption" else raise Capybara::UnselectNotAllowed end end |
- (Object) value
19 20 21 22 23 24 25 |
# File 'lib/capybara/driver/webkit/node.rb', line 19 def value if multiple_select? self.find(".//option").select(&:selected?).map(&:value) else invoke "value" end end |
- (Boolean) visible?
56 57 58 |
# File 'lib/capybara/driver/webkit/node.rb', line 56 def visible? invoke("visible") == "true" end |