module Crabfarm::Utils::Webdriver

Public Instance Methods

inject_script(_driver, _path) click to toggle source
# 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) click to toggle source
# 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) click to toggle source
# 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