module Browsed::Phantomjs
Private Instance Methods
poltergeist_proxy_options()
click to toggle source
# File lib/browsed/phantomjs.rb, line 37 def poltergeist_proxy_options proxy_options = [] if self.proxy && !self.proxy.empty? && self.proxy.has_key?(:host) && self.proxy.has_key?(:port) proxy_address = "#{self.proxy.fetch(:host)}:#{self.proxy.fetch(:port)}" proxy_options << "--proxy=#{proxy_address}" if !proxy_address.to_s.empty? if !self.proxy.fetch(:username, nil).to_s.empty? && !self.proxy.fetch(:password, nil).to_s.empty? credentials = "#{self.proxy.fetch(:username)}:#{self.proxy.fetch(:password)}" proxy_options << "--proxy-auth=#{credentials}" end log("Will use proxy options #{proxy_options} to initiate the request.") end return proxy_options end
register_phantomjs_driver(options: {}, timeout: 60, debug: false)
click to toggle source
# File lib/browsed/phantomjs.rb, line 5 def register_phantomjs_driver(options: {}, timeout: 60, debug: false) phantom_opts = ['--ignore-ssl-errors=true', '--ssl-protocol=any'] disable_images = options.fetch(:disable_images, false) if disable_images phantom_opts << "--load-images=false" end phantom_opts = phantom_opts | poltergeist_proxy_options options = { timeout: timeout, js_errors: false, debug: debug, phantomjs_options: phantom_opts } options[:phantomjs] = self.configuration.binary_path if in_environment?(:production) options[:window_size] = self.resolution if self.resolution&.any? headers = {} headers['User-Agent'] = self.user_agent unless self.user_agent.to_s.empty? log("Will register a new poltergeist driver:\nOptions: #{options.inspect}\nHeaders: #{headers.inspect}\n") Capybara.register_driver self.driver do |app| poltergeist = Capybara::Poltergeist::Driver.new(app, options) poltergeist.headers = headers poltergeist end end