Class: NSWTopo::Chrome::Node
- Inherits:
-
Object
- Object
- NSWTopo::Chrome::Node
- Defined in:
- lib/nswtopo/chrome.rb
Instance Method Summary collapse
- #[](name) ⇒ Object
- #[]=(name, value) ⇒ Object
-
#initialize(browser, selector) ⇒ Node
constructor
A new instance of Node.
- #value=(value) ⇒ Object
- #width ⇒ Object
Constructor Details
#initialize(browser, selector) ⇒ Node
Returns a new instance of Node.
202 203 204 |
# File 'lib/nswtopo/chrome.rb', line 202 def initialize(browser, selector) @browser, @node_id = browser, browser.query_selector_node_id(selector) end |
Instance Method Details
#[](name) ⇒ Object
206 207 208 209 210 |
# File 'lib/nswtopo/chrome.rb', line 206 def [](name) @browser.command("DOM.getAttributes", nodeId: @node_id).fetch("attributes").each_slice(2).to_h.fetch(name.to_s) rescue KeyError raise Error end |
#[]=(name, value) ⇒ Object
212 213 214 215 216 217 218 |
# File 'lib/nswtopo/chrome.rb', line 212 def []=(name, value) if value.nil? @browser.command "DOM.removeAttribute", nodeId: @node_id, name: name else @browser.command "DOM.setAttributeValue", nodeId: @node_id, name: name, value: value end end |
#value=(value) ⇒ Object
220 221 222 |
# File 'lib/nswtopo/chrome.rb', line 220 def value=(value) @browser.command "DOM.setNodeValue", nodeId: @node_id + 1, value: value end |
#width ⇒ Object
224 225 226 227 228 |
# File 'lib/nswtopo/chrome.rb', line 224 def width @browser.command("DOM.getBoxModel", nodeId: @node_id).fetch("model").fetch("content").each_slice(2).map(&:first).minmax.reverse.inject(&:-) rescue KeyError raise Error end |