El controlador web PhantomJS permanece en la memoria

Estoy instanciando el PhantomJSDriver en C # con este código:

Driver = new PhantomJSDriver(); 

Y limpiarlo con esto:

 Driver.Dispose(); Driver = null; 

¿Debería el proceso salir o permanecer en la memoria? Si se supone que permanece en la memoria, visible en el administrador de tareas de Windows 7, ¿puedo matarlo programáticamente? ¿Debería?

Respondiendo directamente, Driver.Dispose(); no debe usarse para limpiar la instancia de WebDriver . Para una limpieza adecuada, debemos usar Driver.Quit(); .

  1. Driver.Dispose(); : Creo que quedó obsoleto.
  2. Driver.Close(); : Se usa para cerrar la página actual o el navegador (si es la única página / pestaña) que tiene el foco.
  3. Driver.Quit(); : Se usa para llamar al /shutdown endpoint y, posteriormente, la instancia del controlador web se destruye y cierra por completo todas las páginas / tabs / ventanas.

Por lo tanto, llamar al método Driver.Quit() es la única forma de garantizar que las sesiones terminen correctamente.

En esta discussion , puede encontrar un análisis detallado sobre Driver.Dispose(); , Driver.Close(); y Driver.Quit();