docker-composeによるPython + Selenium環境
2022-08-06 追記
Seleniumのバージョンが上がって一部非推奨化したりしたので、そちらに対応した版を作成しました。
2020-09-28
docker-compose.yml
version: '3.8'services:app:build: ./app/entrypoint: [ "wait-for-it", "selenium:4444", "--", "python3", "/code/main.py" ]volumes:- ./work:/workenvironment:SELENIUM_URL: http://selenium:4444/wd/hubdepends_on:- seleniumselenium:image: selenium/standalone-chromevolumes:- /dev/shm:/dev/shm
app/Dockerfile
FROM python:3WORKDIR /workRUN apt update && apt install -y \wait-for-itADD requirements.txt /tmp/RUN pip3 install -r /tmp/requirements.txtADD code/ /code
app/requirements.txt
requests >= 2.24.0selenium
app/code/main.py
from selenium import webdriverfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.desired_capabilities import DesiredCapabilitiesselenium_url = os.environ['SELENIUM_URL']website_url: str = Nonedriver = webdriver.Remote(command_executor=selenium_url,desired_capabilities=DesiredCapabilities.CHROME,)driver.get(website_url)