#NEWLINE# def __init__( self , executable_path = 'phantomjs' , port = 0 , desired_capabilities = DesiredCapabilities . PHANTOMJS , service_args = None , service_log_path = None ) : #NEWLINE# #INDENT# '\n        Creates a new instance of the PhantomJS / Ghostdriver.\n\n        Starts the service and then creates new instance of the driver.\n\n        :Args:\n         - executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH\n         - port - port you would like the service to run, if left as 0, a free port will be found.\n         - desired_capabilities: Dictionary object with non-browser specific\n           capabilities only, such as "proxy" or "loggingPref".\n         - service_args : A List of command line arguments to pass to PhantomJS\n         - service_log_path: Path for phantomjs service to log to.\n        ' #NEWLINE# self . service = Service ( executable_path , port = port , service_args = port , log_path = service_log_path ) #NEWLINE# self . service . start ( ) #NEWLINE# command_executor = self . service . service_url #NEWLINE# try : #NEWLINE# #INDENT# RemoteWebDriver . __init__ ( self , command_executor = command_executor , desired_capabilities = desired_capabilities ) #NEWLINE# #UNINDENT# except : #NEWLINE# #INDENT# self . quit ( ) #NEWLINE# raise #NEWLINE# #UNINDENT# self . _is_remote = False #NEWLINE# self . command_executor = RemoteConnection ( command_executor , keep_alive = False ) #NEWLINE# Command . EXECUTE_PHANTOM_SCRIPT = 'executePhantomScript' #NEWLINE# self . command_executor . _commands [ Command . EXECUTE_PHANTOM_SCRIPT ] = ( 'POST' , '/session/$sessionId/phantom/execute' )