Driver web PhantomJS tetap berada di memori

Aug 31 2017

Saya memberi contoh PhantomJSDriver di C # dengan kode ini:

Driver = new PhantomJSDriver();

Dan membersihkannya dengan ini:

Driver.Dispose();
Driver = null;

Haruskah proses keluar atau tetap dalam memori? Jika seharusnya tetap dalam memori, terlihat di pengelola tugas Windows 7, dapatkah saya mematikannya secara terprogram? Haruskah saya?

Jawaban

3 DebanjanB Aug 31 2017 at 16:04

Menjawab langsung, Driver.Dispose();tidak boleh digunakan untuk membersihkan WebDrivercontoh. Untuk pembersihan yang tepat kita harus menggunakan Driver.Quit();.

  1. Driver.Dispose();: Saya pikir sudah usang.
  2. Driver.Close();: Digunakan untuk menutup halaman saat ini atau browser (jika ini adalah satu-satunya halaman / tab) yang memiliki fokus.
  3. Driver.Quit();: Ini digunakan untuk memanggil /shutdown endpointdan kemudian instance driver web dimusnahkan sepenuhnya sehingga menutup semua halaman / tab / jendela.

Karenanya memanggil Driver.Quit()metode ini adalah satu-satunya cara untuk menjamin bahwa sesi diakhiri dengan benar.

Dalam hal ini, discussionAnda dapat menemukan analisis rinci tentang Driver.Dispose();, Driver.Close();danDriver.Quit();