【.NET6.0】Seleniumでブラウザを自動実行した後のメモリーリークの原因

ネコニウム研究所

PCを利用したモノづくりに関連する情報や超個人的なナレッジを掲載するブログ

【.NET6.0】Seleniumでブラウザを自動実行した後のメモリーリークの原因

2022-7-7 | , ,

.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を使ったプログラムを起動してたんですが、それを数カ月放置していたら酷いことに)

まとめ(感想文)

後始末(終了処理)って大事よね!