class PhantomRubyBrowser
Attributes
location[R]
phantomjs[R]
Public Class Methods
new(location)
click to toggle source
# File lib/phantom_ruby_browser.rb, line 8 def initialize(location) @location = location @phantomjs = Phantomjs end
Public Instance Methods
content()
click to toggle source
# File lib/phantom_ruby_browser.rb, line 13 def content execute "var page = require('webpage').create(); page.open('#{@location}', function() { setTimeout(function(){var js = page.evaluate(function () { return document; }); console.log(js.all[0].outerHTML); phantom.exit();}, 1000); });" end
content_after_click(link_selector = 'a')
click to toggle source
# File lib/phantom_ruby_browser.rb, line 24 def content_after_click(link_selector = 'a') execute "var page = require('webpage').create(); page.open('#{@location}', function() { var coords = page.evaluate(function(){ return document.querySelector('#{link_selector}').getBoundingClientRect(); }); page.sendEvent('click', coords.left, coords.top); var js = page.evaluate(function () { return document; }); console.log(js.all[0].outerHTML); phantom.exit(); });" end
Private Instance Methods
execute(commands)
click to toggle source
# File lib/phantom_ruby_browser.rb, line 41 def execute(commands) result = "" steps_file = Tempfile.new('prb_steps') begin steps_file.write(commands) steps_file.flush result = @phantomjs.run(steps_file.path) ensure steps_file.close steps_file.unlink end result end
prepare_steps()
click to toggle source
# File lib/phantom_ruby_browser.rb, line 55 def prepare_steps end