chromedriver
は selenium で利用する WebDriver の1つです。
通常なら brew や apt を使えば chromedriver
を入手できると思いますが、
環境影響を減らしたいときには手動でダウンロード・配置したいです。
mac OS, Linux で chromedriver
をダウンロードして配置するスクリプトを
2023年5月頃(バージョン115)以前・以後で chromedriver
をダウンロードする方法が変わっていて、このスクリプトは以後の対応です。
公式案内、バージョンの選び方は以下のページから辿れます。
スクリプト
require: curl, jq, unzip
curl -s https://googlechromelabs.github.io/chrome-for-testing/last-known-good-versions-with-downloads.json -o last-known-good-versions-with-downloads.json
MAC64_DIR_NAME="chromedriver-mac-x64"
MAC64_URL=$(< last-known-good-versions-with-downloads.json jq -r '.channels.Stable.downloads.chromedriver[] | select(.platform == "mac-x64") | .url')
LINUX64_DIR_NAME="chromedriver-linux64"
LINUX64_URL=$(< last-known-good-versions-with-downloads.json jq -r '.channels.Stable.downloads.chromedriver[] | select(.platform == "linux64") | .url')
DRIVER_BIN_FILE=./chromedriver
if [ "$(uname)" = "Darwin" ]; then
CHROME_DIR_FILE=${MAC64_DIR_NAME}
CHROME_DRIVER_URL=${MAC64_URL}
else
CHROME_DIR_FILE=${LINUX64_DIR_NAME}
CHROME_DRIVER_URL=${LINUX64_URL}
fi
rm -rf ${DRIVER_BIN_FILE}
rm -rf "${CHROME_DIR_FILE}"
rm -rf "${CHROME_DIR_FILE}.zip"
curl -O -L "${CHROME_DRIVER_URL}"
unzip "${CHROME_DIR_FILE}.zip"
mv ${CHROME_DIR_FILE}/chromedriver ${DRIVER_BIN_FILE}
chmod u+x ${DRIVER_BIN_FILE}
rm -rf "${CHROME_DIR_FILE}.zip"