class Makuri::BrowserBuilder::Chrome

Attributes

enable_images[RW]
headless[RW]

Public Class Methods

new(options = {}) click to toggle source
Calls superclass method Makuri::BrowserBuilder::Base::new
# File lib/makuri/browser_builder/chrome.rb, line 8
def initialize(options = {})
  super
  @headless      = options.fetch(:headless, true)
  @enable_images = options.fetch(:enable_images, true)
end

Public Instance Methods

build() click to toggle source
# File lib/makuri/browser_builder/chrome.rb, line 14
def build
  Capybara.register_driver :selenium_chrome do |app|
    Capybara::Selenium::Driver.new app, browser: :chrome, options: browser_options
  end
  Capybara.threadsafe = true
  Capybara::Session.new :selenium_chrome
end

Private Instance Methods

browser_options() click to toggle source
# File lib/makuri/browser_builder/chrome.rb, line 24
def browser_options
  args = %w[
    --disable-gpu
    --no-sandbox
    --disable-translate
    --ignore-certificate-errors
  ]
  args << '--headless' if headless
  args << "--user-agent=#{user_agent}"
  args << "--blink-settings=imagesEnabled=#{enable_images}"
  Selenium::WebDriver::Chrome::Options.new(args: args)
end