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

まとめ(感想文)

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