single.php

SeleniumでGoogle Chromeのプリントスクリーンを保存する方法

先回の[ダウンロード]ページに表示されるファイルのダウンロード速度を記録する際に利用した Selenium を使ってC#から画面のスクリーンショットを保存する方法を作って みたので備忘録的に投稿します。

Selenium パッケージの追加

今回は C# から取得をするので、Visual Studioの依存関係メニューから Selenium で利用するパッケージを追加していきます。 詳細については、別記事をご覧ください。

Visual Stuidoの場合には、[ソリューション エクスプローラー]の画面で、[依存関係]をマウスで右クリックで表示される[NuGetパッケージの管理]メニューを選択して表示される画面で、”Selenium”と検索して表示される一覧から[Selenium.WebDriver]と[Selenium.WebDriver.ChromeDriver]を追加します。

Google Chromeのプリントスクリーンを保存

Selenium.Screenshotを使って、Chromeで表示されている画面のスクリーンショットを操作できます。

流れ的にはChromeを起動して、保存するURLを読み込んで取得したスクリーンショットを指定の画像形式で保存します。

C#の場合には、次のコードでプリントスクリーンで取得したGoogle Chromeの画面がJpeg形式で保存されます。

IWebDriver _webDriver;
ChromeDriverService service = ChromeDriverService.CreateDefaultService();
ChromeOptions options = new ChromeOptions();

_webDriver = new ChromeDriver(service, options);
_webDriver.Navigate().GoToUrl("https://www.google.com/");


Screenshot _screenShot = (_webDriver as ITakesScreenshot).GetScreenshot();
_screenShot.SaveAsFile("C:\\screenshot.jpg", ScreenshotImageFormat.Jpeg);

最後の [ScreenshotImageFormat]列挙値で、PNGなど別の画像形式に変更ができます。

スクリーンショットなので、保存される画像のサイズはChromeのウィンドウサイズに依存されるため注意が必要です。

まとめ

Seleniumを使ってGoogle Chromeで表示されている画面を画像形式で保存することが可能です。

Google Chromeの表示画面を、画像形式で保存したい方の参考になれば幸いです。

スポンサーリンク

最後までご覧いただき、ありがとうございます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です