When I am using selenium with phantomjs, it will always create a log file called
ghostdriver.log in the directory, which is very annoying sometime.
So I dive into the source code and find a way to fix this problem.
Here is the code to launch phantomjs, the file is located in
self.port = port self.path = executable_path self.service_args= service_args if self.port == 0: self.port = utils.free_port() if self.service_args is None: self.service_args =  else: self.service_args=service_args[:] self.service_args.insert(0, self.path) self.service_args.append("--webdriver=%d" % self.port) self.process = None if not log_path: log_path = "ghostdriver.log" self._log = open(log_path, 'w') try: self.process = subprocess.Popen(self.service_args, stdin=subprocess.PIPE, close_fds=platform.system() != 'Windows', stdout=self._log, stderr=self._log) except Exception as e: raise WebDriverException("Unable to start phantomjs with ghostdriver.", e)
As you can see, the ghostdriver.log is used to print the stdout and stderr of the process. We can edit the code to disable the ghostdriver.log.
Change the path of the log file
driver = webdriver.PhantomJS(service_log_path='/tmp/ghostdriver.log')
Since I found phantomjs have command option of log level, we can change the log level
driver = webdriver.PhantomJS(service_args=["--webdriver-loglevel=ERROR"])
Some people set the log level to
NONE, it also seems to work but I did not find the para in
phantomjs -h, but you can try it
BTW, if you want to see the verbose log, just change the