Class: Selenium::WebDriver::PhantomJS::Bridge Private

Inherits:
Remote::Bridge show all
Defined in:
lib/selenium/webdriver/phantomjs/bridge.rb

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Constant Summary

Constants inherited from Remote::Bridge

Remote::Bridge::COMMANDS

Instance Attribute Summary

Attributes inherited from Remote::Bridge

#context, #file_detector, #http

Instance Method Summary collapse

Methods inherited from Remote::Bridge

#accept_alert, #action, #active_element, #add_cookie, #alert=, #alert_text, #authentication, #available_log_types, #clear_element, #clear_local_storage, #clear_session_storage, #click, #click_element, #close, #commands, #context_click, #cookies, #create_session, #delete_all_cookies, #delete_cookie, #dismiss_alert, #double_click, #drag_element, #element_attribute, #element_displayed?, #element_enabled?, #element_location, #element_location_once_scrolled_into_view, #element_property, #element_selected?, #element_size, #element_tag_name, #element_text, #element_value, #element_value_of_css_property, #execute_async_script, #execute_script, #find_element_by, #find_elements_by, #get, #go_back, #go_forward, #implicit_wait_timeout=, #keyboard, #local_storage_item, #local_storage_keys, #local_storage_size, #location, #log, #maximize_window, #mouse, #mouse_down, #mouse_move_to, #mouse_up, #network_connection, #network_connection=, #options, #page_source, #refresh, #remove_local_storage_item, #remove_session_storage_item, #reposition_window, #resize_window, #screen_orientation, #screen_orientation=, #screenshot, #script_timeout=, #send_keys_to_active_element, #send_keys_to_element, #session_capabilities, #session_id, #session_storage_item, #session_storage_keys, #session_storage_size, #set_location, #status, #submit_element, #switch_to_default_content, #switch_to_frame, #switch_to_parent_frame, #switch_to_window, #timeout, #title, #touch_double_tap, #touch_down, #touch_element_flick, #touch_flick, #touch_long_press, #touch_move, #touch_scroll, #touch_single_tap, #touch_up, #upload, #url, #window_handle, #window_handles, #window_position, #window_size

Methods included from BridgeHelper

#element_id_from, #parse_cookie_string, #unwrap_script_result

Constructor Details

#initialize(opts = {}) ⇒ Bridge

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Bridge.



28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/selenium/webdriver/phantomjs/bridge.rb', line 28

def initialize(opts = {})
  port = opts.delete(:port) || Service::DEFAULT_PORT
  opts[:desired_capabilities] ||= Remote::Capabilities.phantomjs

  unless opts.key?(:url)
    driver_path = opts.delete(:driver_path) || PhantomJS.path(false)
    args = opts.delete(:args) || opts[:desired_capabilities]['phantomjs.cli.args']
    @service = Service.new(driver_path, port, *args)
    @service.start
    opts[:url] = @service.uri
  end

  super(opts)
end

Instance Method Details

#browserObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



43
44
45
# File 'lib/selenium/webdriver/phantomjs/bridge.rb', line 43

def browser
  :phantomjs
end

#capabilitiesObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



51
52
53
# File 'lib/selenium/webdriver/phantomjs/bridge.rb', line 51

def capabilities
  @capabilities ||= Remote::Capabilities.phantomjs
end

#driver_extensionsObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



47
48
49
# File 'lib/selenium/webdriver/phantomjs/bridge.rb', line 47

def driver_extensions
  [DriverExtensions::TakesScreenshot]
end

#quitObject

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



55
56
57
58
59
# File 'lib/selenium/webdriver/phantomjs/bridge.rb', line 55

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