Module: Crabfarm::Utils::Webdriver
Instance Method Summary collapse
- #inject_script(_driver, _path) ⇒ Object
- #inject_style(_driver, _path) ⇒ Object
- #set_style(_elements, _style) ⇒ Object
Instance Method Details
#inject_script(_driver, _path) ⇒ Object
6 7 8 9 10 11 12 13 14 15 |
# File 'lib/crabfarm/utils/webdriver.rb', line 6 def inject_script(_driver, _path) _driver.execute_script(" (function() { var script = document.createElement('script'); script.async = false; script.src = '#{_path}'; document.head.appendChild(script); })(); ") end |
#inject_style(_driver, _path) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/crabfarm/utils/webdriver.rb', line 17 def inject_style(_driver, _path) _driver.execute_script(" (function() { var link = document.createElement('link'); link.setAttribute('rel','stylesheet'); link.setAttribute('type','text/css'); link.setAttribute('href','#{_path}'); link.setAttribute('media','all'); document.head.appendChild(link); })(); ") end |
#set_style(_elements, _style) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/crabfarm/utils/webdriver.rb', line 30 def set_style(_elements, _style) return if _elements.size == 0 # Not sure about using a bridge method directly here... _elements.first.send(:bridge).executeScript(" for(var i = 0, l = arguments[0].length; i < l; i++) { arguments[0][i].setAttribute('style', arguments[1]); } ", _elements, _style) end |