最新のIT技術を駆使して音楽関連サービスを展開しています。日々の活動内容から得た知識をお届けする開発ブログです。SeleniumB!はじめにはじめまして。システム開発推進部第2Gの山本です。フロントエンドやバックエンドの開発を主に行っております。今回は、Webブラウザの動作確認をSeleniumを用いて自動化する方法について、簡単にご紹介したいと思います。今回の環境はWindowsを使用していますが、MacやLinuxの場合、一部手順が異なる可能性がありますので、あらかじめご了承ください。私が担当しているサービスのAKB48グループ映像倉庫の開発は、数名のチーム体制で進行しており、リリース時には動作確認結果をSlackで共有しています。リリース内容は多岐にわたりますが、中には軽微かつ定期的な更新作業が発生するものもあります。その中の一つが、WebTOPページのキャンペーンバナーの掲載作業です。これを手作業で確認する場合、各OS(PC、Android、iOS)ごとにスクリーンショットを撮影し、Slackに報告する必要があります。確認内容は毎回同じで、作業自体は簡単ですが、定期的に発生するため、時間がかかり、少し煩雑に感じることがありました。そこで、この確認作業を自動化することを試みました。SeleniumとはSeleniumは、WEBブラウザの操作を自動化するためのオープンソースのツールです。ブラウザをプログラムで操作し、Webページのテストや操作を行うことができます。具体的には、以下のようなことが可能です。Webページのテスト自動化ボタンのクリックやフォームへの入力など、ユーザーの操作を自動化。Webデータのスクレイピングページ上のデータの取得や、動的に生成される要素の解析。準備Seleniumを用いた自動化スクリプトを実行するための開発環境を構築していきます。Pythonのインストールまず、Pythonがインストールされているか確認します。--versionもしPythonがインストールされていない場合、Pythonの公式サイトから最新版をダウンロードし、インストールしてください。SeleniumのインストールPythonでSeleniumを使用するためには、Seleniumライブラリをインストールする必要があります。以下のコマンドでインストールできます。seleniumChromeDriverのインストールSeleniumでChromeブラウザを操作するには、ChromeDriverが必要です。ChromeDriverの公式サイトから、現在使用しているChromeのバージョンに対応したドライバをダウンロードします。ダウンロードしたZIPファイルを解凍し、任意のディレクトリに配置します。今回はD:/selenium/chromedriver-win64/chromedriver.exeに配置しています。Seleniumの基本構文についてSeleniumの基本的な操作構文を簡単に紹介します。webdriver.Chrome(executable_path='path_to_chromedriver')driver.get('https://example.com')webdriver.Chrome()でChromeブラウザを起動し、get()で指定したURLにアクセスします。'element_id')element.click()find_element()で指定された条件でWebページ上の要素を取得し、click()でその要素をクリックします。ページのスクリーンショットdriver.save_screenshot('screenshot.png')指定したパスにページ全体のスクリーンショットを保存します。ブラウザの終了driver.quit()開いているブラウザをすべて閉じます。今回作成したスクリプトの全体の流れとスクリプトについて記載いたします。