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
28
# File 'lib/crabfarm/adapters/browser/abstract_webdriver.rb', line 21

def build_driver(_session_id)

  # load driver and configure general selenium settings
  driver = build_webdriver_instance
  driver.manage.window.resize_to(config[:window_width], config[:window_height]) rescue nil

  return wrap_driver driver
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(_driver) ⇒ Object



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

def release_driver(_driver)
  @driver.quit rescue nil
end