🍣

WSL(Ubuntu22.04)に最新版のchromedriverをサクッと入れたい

2024/10/06に公開

はじめに

Seleniumで、Webアプリの実行を自動化する際に必要なchromedriverを使えるようにしたい。

前提

以下libnss3関連のライブラリ入れておく

sudo apt update
sudo apt install -y libnss3 libgconf-2-4 libxss1 libatk1.0-0 libpangocairo-1.0-0 libgtk-3-0 libx11-xcb1

手順

まずシェルスクリプトファイルを作成する。

install_chromedriver.sh
#!/bin/bash

# ChromeDriverのインストール先ディレクトリ
INSTALL_DIR="/usr/local/bin"
# ChromeDriverの最新リリースバージョンを取得
LATEST_VERSION=$(curl -sS https://chromedriver.storage.googleapis.com/LATEST_RELEASE)

# ChromeDriverのダウンロードURL
ZIP_FILE="chromedriver_linux64.zip"
CHROMEDRIVER_URL="https://chromedriver.storage.googleapis.com/${LATEST_VERSION}/${ZIP_FILE}"

# ChromeDriverのダウンロード
echo "ChromeDriverのバージョン ${LATEST_VERSION} をダウンロード中..."
curl -O ${CHROMEDRIVER_URL}

# ダウンロード成功したかをチェック
if [[ $? -ne 0 ]]; then
    echo "ChromeDriverのダウンロードに失敗しました。"
    exit 1
fi

# 一時的な解凍ディレクトリを作成
TEMP_DIR=$(mktemp -d)

# ダウンロードしたファイルを一時ディレクトリに解凍
echo "ChromeDriverを解凍中..."
unzip -o ${ZIP_FILE} -d ${TEMP_DIR}

# ChromeDriverバイナリのみをインストールディレクトリに移動
mv ${TEMP_DIR}/chromedriver ${INSTALL_DIR}/

# ChromeDriverに実行権限を付与
chmod +x ${INSTALL_DIR}/chromedriver

# 一時ディレクトリとダウンロードしたファイルを削除
rm -rf ${TEMP_DIR}
rm ${ZIP_FILE}

# インストール完了メッセージ
echo "ChromeDriverのインストールが完了しました。バージョン: $(${INSTALL_DIR}/chromedriver --version)"

あとはシェルスクリプトを実行するだけ。

chmod +x install_chromedriver.sh
./install_chromedriver.sh

Discussion