def __init__(self, executable_path, port=0, quiet=False, service_args=None): """ Creates a new instance of the Service :Args: - executable_path : Path to the SafariDriver - port : Port the service is running on - quiet : Suppress driver stdout and stderr - service_args : List of args to pass to the safaridriver service """ if not os.path.exists(executable_path): if "Safari Technology Preview" in executable_path: message = "Safari Technology Preview does not seem to be installed. You can download it at https://developer.apple.com/safari/download/." else: message = "SafariDriver was not found; are you running Safari 10 or later? You can download Safari at https://developer.apple.com/safari/download/." raise Exception(message) if port == 0: port = utils.free_port() self.service_args = service_args or [] self.quiet = quiet log = PIPE if quiet: log = open(os.devnull, 'w') service.Service.__init__(self, executable_path, port, log)
def __init__(self, executable, port=0, log_file=DEVNULL, env=None, start_error_message=""): self.path = executable self.port = port if self.port == 0: self.port = utils.free_port() if not _HAS_NATIVE_DEVNULL and log_file == DEVNULL: log_file = open(os.devnull, 'wb') self.start_error_message = start_error_message self.log_file = log_file self.env = env or os.environ
def __init__(self, executable_path='MicrosoftWebDriver.exe', capabilities=None, port=0, verbose=False, service_log_path=None, log_path=None, keep_alive=False): """ Creates a new instance of the chrome driver. Starts the service and then creates new instance of chrome driver. :Args: - executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH - capabilities - Dictionary object with non-browser specific capabilities only, such as "proxy" or "loggingPref". - port - port you would like the service to run, if left as 0, a free port will be found. - verbose - whether to set verbose logging in the service - service_log_path - Where to log information from the driver. - log_path: Deprecated argument for service_log_path - keep_alive - Whether to configure ChromeRemoteConnection to use HTTP keep-alive. """ if log_path: warnings.warn('use service_log_path instead of log_path', DeprecationWarning, stacklevel=2) service_log_path = log_path self.port = port if self.port == 0: self.port = utils.free_port() self.edge_service = Service(executable_path, port=self.port, verbose=verbose, log_path=service_log_path) self.edge_service.start() if capabilities is None: capabilities = DesiredCapabilities.EDGE RemoteWebDriver.__init__(self, command_executor=RemoteConnection( 'http://localhost:%d' % self.port, resolve_ip=False, keep_alive=keep_alive), desired_capabilities=capabilities) self._is_remote = False
def __init__(self, host, firefox_profile, firefox_binary=None, timeout=30): self.profile = firefox_profile self.binary = firefox_binary HOST = host timeout = int(timeout) if self.binary is None: self.binary = FirefoxBinary() if HOST is None: HOST = "127.0.0.1" PORT = utils.free_port() self.profile.port = PORT self.profile.update_preferences() self.profile.add_extension() self.binary.launch_browser(self.profile, timeout=timeout) _URL = "http://%s:%d/hub" % (HOST, PORT) RemoteConnection.__init__(self, _URL, keep_alive=True)
def __init__(self, executable_path='IEDriverServer.exe', capabilities=None, port=DEFAULT_PORT, timeout=DEFAULT_TIMEOUT, host=DEFAULT_HOST, log_level=DEFAULT_LOG_LEVEL, service_log_path=DEFAULT_SERVICE_LOG_PATH, options=None, ie_options=None, desired_capabilities=None, log_file=None, keep_alive=False): """ Creates a new instance of the chrome driver. Starts the service and then creates new instance of chrome driver. :Args: - executable_path - path to the executable. If the default is used it assumes the executable is in the $PATH - capabilities: capabilities Dictionary object - port - port you would like the service to run, if left as 0, a free port will be found. - timeout - no longer used, kept for backward compatibility - host - IP address for the service - log_level - log level you would like the service to run. - service_log_path - target of logging of service, may be "stdout", "stderr" or file path. - options - IE Options instance, providing additional IE options - ie_options - Deprecated argument for options - desired_capabilities - alias of capabilities; this will make the signature consistent with RemoteWebDriver. - log_file - Deprecated argument for service_log_path - keep_alive - Whether to configure RemoteConnection to use HTTP keep-alive. """ if log_file: warnings.warn('use service_log_path instead of log_file', DeprecationWarning, stacklevel=2) service_log_path = log_file if ie_options: warnings.warn('use options instead of ie_options', DeprecationWarning, stacklevel=2) options = ie_options self.port = port if self.port == 0: self.port = utils.free_port() self.host = host # If both capabilities and desired capabilities are set, ignore desired capabilities. if capabilities is None and desired_capabilities: capabilities = desired_capabilities if options is None: if capabilities is None: capabilities = self.create_options().to_capabilities() else: if capabilities is None: capabilities = options.to_capabilities() else: # desired_capabilities stays as passed in capabilities.update(options.to_capabilities()) self.iedriver = Service( executable_path, port=self.port, host=self.host, log_level=log_level, log_file=service_log_path) self.iedriver.start() RemoteWebDriver.__init__( self, command_executor='http://localhost:%d' % self.port, desired_capabilities=capabilities, keep_alive=keep_alive) self._is_remote = False