Selenium を使用する場合自動テストでは、quit() メソッドを呼び出して WebDriver インスタンスを終了し、ブラウザセッション。ただし、ブラウザを閉じる前にテスト結果を分析したり問題を修正したりする場合は、quit() 呼び出しを避けた方がよい場合があります。
ベスト プラクティスに従って、適切なクリーンアップを確保し、メモリ リークの可能性を防ぐために、tearDown() または After メソッド内で quit() を呼び出すことをお勧めします。 quit() を呼び出すと、追加のフラグを含む「quit」コマンドが WebDriver インスタンスに送信され、その結果、ブラウザー セッションが正常に終了します。
quit() を呼び出さない場合、後続の各テスト実行で geckodriver.exe プロセスが残されます。メモリに蓄積され、パフォーマンスの問題を引き起こす可能性があります。このメモリの蓄積は、ブラウザを手動で閉じるかどうかに関係なく継続します。
quit() を呼び出すことをお勧めしますが、代わりに外部ソリューションを使用して、必要に応じて、ぶら下がっている geckodriver インスタンスを強制終了します。使用できる 3 つのコード ブロックは次のとおりです:
import java.io.IOException; public class Kill_ChromeDriver_GeckoDriver_IEDriverserver { public static void main(String[] args) throws Exception { Runtime.getRuntime().exec("taskkill /F /IM geckodriver.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM chromedriver.exe /T"); Runtime.getRuntime().exec("taskkill /F /IM IEDriverServer.exe /T"); } }
import os os.system("taskkill /f /im geckodriver.exe /T") os.system("taskkill /f /im chromedriver.exe /T") os.system("taskkill /f /im IEDriverServer.exe /T")
以上が「driver.quit()」を使用せずに Selenium で geckodriver プロセスを管理し、メモリ リークを防ぐ方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。