Seleniumは2004 年にThoughtWorks社によって開発された、Webブラウザの操作を自動化するためのフレームワークです。
Webブラウザの操作の自動化や、Web サイトのクローリングなどの用途で利用されています。
この記事ではPythonでSeleniumを利用して、ブラウザ(Google chrome)上で特定のWebページのスクリーンショットを自動で取得する方法及びサンプルソースコードを紹介します。
Seleniumの環境構築や開発前の準備については以下の記事にまとめています。
今回は開発環境として以下を用いました。
早速、ソースコードを見ていきましょう。
特定のWebページにアクセスするのは以下の箇所です。今回はこのホームページのトップ(http://tecsingularity.com/)にアクセスする形としていますが、用途に応じて変更してください。
次に、ブラウザのウインドウの解像度を設定します。近年だと1920×1080の画面を使われている方が多いと思いますので、今回は1920×1080に設定しました。
このコマンドにより、特定のページにアクセスした後、Google chromeのウィンドウのサイズが1920×1080に変更されます。
最後に以下の箇所でスクリーンショットを取得します。
スクリーンショットは、カレントディレクトリ(基本的には実行したpyファイルが存在するフォルダ)に出力されます。
スクリーンショットは、ブラウザのウィンドウ上に見えている部分のみが取得されます。
実行すると、以下のように当サイトのトップページのスクリーンショットが自動保存されました。
今回はSeleniumとPythonを用いて、特定のページのスクリーンショットを取得する方法を紹介しました。