Docker で Selenium Standalone を用意して Python から試してみた

CI/CD パイプラインの中で使うも良し、モニタリングで使うも良しな、Selenium 実行環境を Docker で用意しておき、Python から試してみました。

Selenium 実行環境を Docker で用意

docker run -d --rm \
  -p 4444:4444 \
  -p 7900:7900 \
  -v /dev/shm:/dev/shm \
  --name selenium selenium/standalone-chrome:114.0

ブラウザで下記 URL にアクセスして動作確認

# 実行状態を確認できます
http://localhost:4444

# VNC 上でブラウザの動作が確認できます
http://localhost:7900/?autoconnect=1&resize=scale&password=secret

Pip で Selenium をインストール

pip3 install selenium==3.14.1

Python から Selenium を呼び出すコードを用意

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities

remote_url = "http://localhost:4444/wd/hub"

capabilities = DesiredCapabilities.CHROME.copy()

driver = webdriver.Remote(remote_url, desired_capabilities=capabilities)

driver.get("https://www.yahoo.co.jp")

print(driver.title)

driver.quit()

Selenium を Python から実行

$ python3 docker-selenium-standalone.py 
Yahoo! JAPAN

Selenium 実行環境を停止

docker stop selenium

参考

https://www.selenium.dev/ja/documentation/webdriver/drivers/remote_webdriver/

https://hub.docker.com/r/selenium/standalone-chrome/

タグ: ,