Module: Selenium::WebDriver::LocalDriver
- Included in:
- Chrome::Driver, Edge::Driver, Firefox::Driver, IE::Driver, Safari::Driver
- Defined in:
- lib/selenium/webdriver/common/local_driver.rb
Instance Method Summary collapse
- #initialize_local_driver(options, service, url) ⇒ Object
- #process_options(options, service) ⇒ Object
- #service_url(service) ⇒ Object
Instance Method Details
#initialize_local_driver(options, service, url) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/selenium/webdriver/common/local_driver.rb', line 23 def initialize_local_driver(, service, url) raise ArgumentError, "Can't initialize #{self.class} with :url" if url service ||= Service.send(browser) caps = (, service) url = service_url(service) begin yield(caps, url) if block_given? rescue Selenium::WebDriver::Error::WebDriverError @service_manager&.stop raise end end |
#process_options(options, service) ⇒ Object
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/selenium/webdriver/common/local_driver.rb', line 43 def (, service) = Options.send(browser) ||= unless .is_a?(.class) raise ArgumentError, ":options must be an instance of #{default_options.class}" end service.executable_path ||= begin finder = WebDriver::DriverFinder.new(, service) if .respond_to?(:binary) && finder.browser_path? .binary = finder.browser_path .browser_version = nil end finder.driver_path end .as_json end |
#service_url(service) ⇒ Object
38 39 40 41 |
# File 'lib/selenium/webdriver/common/local_driver.rb', line 38 def service_url(service) @service_manager = service.launch @service_manager.uri end |