SeleniumをインストールしたDocker実行環境を作りたい

こんにちは!たぬきうどんです!

私は2018年に非IT業界から未経験でエンジニアに転職し、現在までエンジニアとして働いています。

この記事ではSeleniumをインストールしたDocker実行環境の作り方についてのを説明します。

Docker + Selenium環境を構築したいと考えている方はぜひご覧ください!

はじめに

SeleniumはWebブラウザの自動化を行うためのフレームワークです。

この記事ではSeleniumをインストールしたDocker実行環境の作り方を紹介します。

が、Seleniumには既にコミュニティによって作られたDockerイメージがあります。

「手軽にSeleniumを実行したい」といったような場合は上記のイメージを使うのをオススメします。

今回の発端は

常にスクレイピングアプリケーションを起動させるのではなく、AWS Fargateで定期実行させたい!

という思いからでした。

同じような思いでスクレイピング環境を構築したいという方はぜひこの記事をご覧下さい!

Dockerfileと必要ライブラリ

それではDockerfileと必要ライブラリの説明を行います。

今回の実行にはPythonを、パッケージ管理にはPoetryを使用しています。

Dockerfile

まずは今回のDockerイメージの肝となるDockerfileを紹介します。

Dockerfile
FROM python:3.10-slim

ENV LANG ja_JP.UTF-8
ENV LANGUAGE ja_JP:ja
ENV LC_ALL ja_JP.UTF-8
ENV TZ JST-9
ENV TERM xterm

RUN apt-get update &&\
    apt-get install -y wget gnupg curl
WORKDIR /chromium-driver
RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - &&\
    wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb &&\
    apt-get install -y ./google-chrome-stable_current_amd64.deb &&\
    rm google-chrome-stable_current_amd64.deb

RUN pip install --upgrade pip &&\
    curl -sSL https://install.python-poetry.org | python - &&\
    poetry config virtualenvs.create false

以下の箇所でChromeをインストールしています。

wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - &&\
wget -q https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb &&\
apt-get install -y ./google-chrome-stable_current_amd64.deb

以上が最低限のDockerfileとなります。

必要ライブラリ

Seleniumを動かすために必要なライブラリであるSeleniumChromeDriverをインストールします。

コンテナ起動後にインストールしていくか、Dockerfileに組み込んでください。

Seleniumのインストール

Poetry add selenium

ChromeDriverのインストール

poetry add chromedriver-binary~=$(/usr/bin/google-chrome --version | perl -pe 's/([^0-9]+)([0-9]+\.[0-9]+).+/$2/g')

ChromeDriverはChromeのバージョンに合わせる必要があるため、chromedriver-binary~=$(/usr/bin/google-chrome --version | perl -pe 's/([^0-9]+)([0-9]+\.[0-9]+).+/$2/g')で合ったバージョンを指定しています。

おわりに

以上がSeleniumをインストールしたDocker実行環境の作り方についてでした。

この記事が皆さんの助けになれば幸いです!

最後まで読んでいただき、ありがとうございました!

参考文献

コメントを残す

メールアドレスが公開されることはありません。