.NET6.0のSeleniumでブラウザを自動実行した後にメモリーリークする場合の確認事項だよ!
概要
今回の記事では、.NET6.0のSeleniumでブラウザを自動実行した後にメモリーリークする場合の原因と確認事項について掲載する。
仕様書
環境
- NET6.0
- Selenium.Support 4.3.0
- Selenium.WebDriver 4.3.0
- Selenium.WebDriver.ChromeDriver 103.0.5060.5300
手順書
原因は、WebDriverを使い終わった後にちゃんと終了処理をしてない可能性がある。
下記にサンプルのコードを載せる。
IWebDriver driver = new ChromeDriver(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
// なんらかの処理
...
driver.Close();
driver.Quit();
なんらかの処理後、WebDriverを使い終わったら、ちゃんとClose
してQuit
する!
私の場合は、Close
のみしか実行しておらず、Quit
をし忘れていたところ、タスクマネージャーに大量のchrome.exe
が…。(1日1回タスクスケジューラーでSeleniumを使ったプログラムを起動してたんですが、それを数カ月放置していたら酷いことに)
まとめ(感想文)
後始末(終了処理)って大事よね!