Class: Puppeteer::Launcher::BrowserOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/puppeteer/launcher/browser_options.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ BrowserOptions

Returns a new instance of BrowserOptions.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/puppeteer/launcher/browser_options.rb', line 29

def initialize(options)
  @ignore_https_errors = options[:ignore_https_errors] || false
  # `default_viewport: nil` must be respected here.
  @default_viewport = options.key?(:default_viewport) ? options[:default_viewport] : Puppeteer::Viewport.new(width: 800, height: 600)
  @slow_mo = options[:slow_mo] || 0
  @network_enabled = options.fetch(:network_enabled, true)
  @issues_enabled = options.fetch(:issues_enabled, true)
  @protocol_timeout = options[:protocol_timeout]
  @block_list = options[:block_list]
  if @block_list && !@block_list.is_a?(Array)
    raise ArgumentError.new('block_list must be an Array of URL patterns')
  end
  @allow_list = options[:allow_list]
  if @allow_list && !@allow_list.is_a?(Array)
    raise ArgumentError.new('allow_list must be an Array of URL patterns')
  end
  if @block_list && @allow_list
    raise ArgumentError.new('Cannot specify both blocklist and allowlist')
  end
  [*@block_list, *@allow_list].each do |pattern|
    URLPattern::URLPattern.new(pattern)
  rescue URLPattern::Error => error
    raise ArgumentError.new("Invalid URLPattern #{pattern.inspect}: #{error.message}")
  end

  # only for Puppeteer.connect
  @target_filter = options[:target_filter]
  if @target_filter && !@target_filter.respond_to?(:call)
    raise ArgumentError.new('target_filter must be a Proc (target_info => true/false)')
  end

  @is_page_target = options[:is_page_target]
  if @is_page_target && !@is_page_target.respond_to?(:call)
    raise ArgumentError.new('is_page_target must be a Proc (target_info => true/false)')
  end
end

Instance Attribute Details

#allow_listObject (readonly)

Returns the value of attribute allow_list.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def allow_list
  @allow_list
end

#block_listObject (readonly)

Returns the value of attribute block_list.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def block_list
  @block_list
end

#default_viewportObject (readonly)

Returns the value of attribute default_viewport.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def default_viewport
  @default_viewport
end

#is_page_targetObject (readonly)

Returns the value of attribute is_page_target.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def is_page_target
  @is_page_target
end

#issues_enabledObject (readonly)

Returns the value of attribute issues_enabled.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def issues_enabled
  @issues_enabled
end

#network_enabledObject (readonly)

Returns the value of attribute network_enabled.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def network_enabled
  @network_enabled
end

#protocol_timeoutObject (readonly)

Returns the value of attribute protocol_timeout.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def protocol_timeout
  @protocol_timeout
end

#slow_moObject (readonly)

Returns the value of attribute slow_mo.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def slow_mo
  @slow_mo
end

#target_filterObject (readonly)

Returns the value of attribute target_filter.



66
67
68
# File 'lib/puppeteer/launcher/browser_options.rb', line 66

def target_filter
  @target_filter
end

Instance Method Details

#ignore_https_errors?Boolean

Returns:

  • (Boolean)


68
69
70
# File 'lib/puppeteer/launcher/browser_options.rb', line 68

def ignore_https_errors?
  @ignore_https_errors
end