Class: Crabfarm::Adapters::Browser::AbstractWebdriver

Inherits:
Object
  • Object
show all
Defined in:
lib/crabfarm/adapters/browser/abstract_webdriver.rb

Direct Known Subclasses

Chrome, Firefox, PhantomJs, RemoteWebdriver

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(_proxy = nil) ⇒ AbstractWebdriver

Returns a new instance of AbstractWebdriver.



8
9
10
11
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 8

def initialize(_proxy=nil)
  @config = load_driver_config
  @config[:proxy] = _proxy
end

Instance Attribute Details

#configObject

Returns the value of attribute config.



6
7
8
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 6

def config
  @config
end

Instance Method Details

#build_driver(_session_id) ⇒ Object



21
22
23
24
25
26
27
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 21

def build_driver(_session_id)
  wrap_driver(if Crabfarm.live?
    build_live_instance _session_id
  else
    build_webdriver_instance
  end)
end

#cleanup_driver_servicesObject



17
18
19
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 17

def cleanup_driver_services
  # Nothing by default
end

#prepare_driver_servicesObject



13
14
15
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 13

def prepare_driver_services
  # Nothing by default
end

#release_driver(_session_id, _driver) ⇒ Object



29
30
31
32
33
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 29

def release_driver(_session_id, _driver)
  unless Crabfarm.live? and _session_id == :default_driver
    _driver.driver.quit rescue nil
  end
end