Il driver web PhantomJS rimane in memoria

Aug 31 2017

Sto istanziando il PhantomJSDriver in C # con questo codice:

Driver = new PhantomJSDriver();

E ripulirlo con questo:

Driver.Dispose();
Driver = null;

Il processo dovrebbe terminare o rimanere in memoria? Se si suppone che rimanga in memoria, visibile nel task manager di Windows 7, posso ucciderlo a livello di programmazione? Dovrei?

Risposte

3 DebanjanB Aug 31 2017 at 16:04

Rispondere direttamente, Driver.Dispose();non dovrebbe essere usato per ripulire l' WebDriveristanza. Per una corretta pulizia dobbiamo usare Driver.Quit();.

  1. Driver.Dispose();: Penso che sia stato deprecato.
  2. Driver.Close();: Viene utilizzato per chiudere la pagina corrente o il browser (se è l'unica pagina / scheda) che ha il focus.
  3. Driver.Quit();: Viene utilizzato per richiamare /shutdown endpointe successivamente l'istanza del driver web viene distrutta chiudendo completamente tutte le pagine / schede / finestre.

Quindi chiamare il Driver.Quit()metodo è l'unico modo per garantire che le sessioni vengano terminate correttamente.

In questo discussionpuoi trovare un'analisi dettagliata su Driver.Dispose();, Driver.Close();eDriver.Quit();