class Selenium::WebDriver::PhantomJS::Driver

def browser

def browser
  :phantomjs
end

def initialize(opts = {})

def initialize(opts = {})
  opts[:desired_capabilities] ||= Remote::Capabilities.phantomjs
  unless opts.key?(:url)
    driver_path = opts.delete(:driver_path) || PhantomJS.driver_path
    port = opts.delete(:port) || Service::DEFAULT_PORT
    opts[:driver_opts] ||= {}
    if opts.key? :args
      WebDriver.logger.deprecate ':args', "driver_opts: {args: #{opts[:args]}}"
      opts[:driver_opts][:args] = opts.delete(:args)
    elsif opts[:desired_capabilities]['phantomjs.cli.args']
      opts[:driver_opts][:args] = opts[:desired_capabilities]['phantomjs.cli.args']
    end
    @service = Service.new(driver_path, port, opts.delete(:driver_opts))
    @service.start
    opts[:url] = @service.uri
  end
  listener = opts.delete(:listener)
  @bridge = Remote::Bridge.handshake(opts)
  super(@bridge, listener: listener)
end

def quit

def quit
  super
ensure
  @service.stop if @service
end