El controlador web PhantomJS permanece en la memoria

Resuelto Matt W asked hace 7 años • 1 respuestas

Estoy creando una instancia de PhantomJSDriver en C# con este código:

Driver = new PhantomJSDriver();

Y limpiándolo con esto:

Driver.Dispose();
Driver = null;

¿El proceso debería salir o permanecer en la memoria? Si se supone que debe permanecer en la memoria, visible en el administrador de tareas de Windows 7, ¿puedo eliminarlo mediante programación? ¿Debería?

Matt W avatar Aug 31 '17 22:08 Matt W
Aceptado

Responder directamente Driver.Dispose();no debería usarse para limpiar la WebDriverinstancia. Para una correcta limpieza debemos estar utilizando Driver.Quit();.

  1. Driver.Dispose();: Creo que quedó obsoleto.
  2. Driver.Close();: Se utiliza 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 utiliza para llamar /shutdown endpointy posteriormente la instancia del controlador web se destruye por completo cerrando todas las páginas/pestañas/ventanas.

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

En este discussionpodrás encontrar un análisis detallado sobre Driver.Dispose();, Driver.Close();yDriver.Quit();

undetected Selenium avatar Aug 31 '2017 16:08 undetected Selenium