Sha256: efda1ab402b7a07ac78c51a67e069ce3a19fabf97db88e00c057a27dbd11f767

Contents?: true

Size: 1.76 KB

Versions: 2

Compression:

Stored size: 1.76 KB

Contents

module Browsed
  module Chrome
    
    private
      def register_chrome_driver(options: {}, timeout: 60, debug: false)
        headless                =   options.fetch(:headless, false)
        width                   =   option.fetch(:width, 1920)
        height                  =   options.fetch(:height, 1080)
        profile                 =   Selenium::WebDriver::Chrome::Profile.new
        
        profile["user-agent"]   =   self.user_agent unless self.user_agent.to_s.empty?
        
        proxy_options           =   chrome_proxy_options
        capabilities            =   !proxy_options.nil? ? Selenium::WebDriver::Remote::Capabilities.chrome(proxy: proxy_options) : {}
        args                    =   %W(disable-popup-blocking window-size=#{height},#{width})
        args                    =   args | %w(headless disable-gpu)
        raise args.inspect
        options                 =   Selenium::WebDriver::Chrome::Options.new(profile: profile, args: args)
        
        Capybara.register_driver self.driver do |app|
          Capybara::Selenium::Driver.new(app, browser: :chrome, options: options, desired_capabilities: capabilities)
        end
      end
    
      def chrome_proxy_options
        proxy_options           =   nil
        
        if self.proxy && !self.proxy.empty? && self.proxy.has_key?(:host) && self.proxy.has_key?(:port)
          proxy_options         =   Selenium::WebDriver::Proxy.new(
            http: "#{self.proxy.fetch(:host)}:#{self.proxy.fetch(:port)}",
            ssl:  "#{self.proxy.fetch(:host)}:#{self.proxy.fetch(:port)}"
          )
          
          log("Will use proxy #{self.proxy.fetch(:host)}:#{self.proxy.fetch(:port)} to initiate the request.")
        end
      
        return proxy_options
      end
  
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
browsed-0.2.2 lib/browsed/chrome.rb
browsed-0.2.1 lib/browsed/chrome.rb