Selenium 是开源的 Web 自动化测试框架,支持通过代码方式让浏览器执行各类交互操作。包括但不限于:
本文是工作中使用 Selenium 的笔记。
使用 Selenium 需要 Chrome 浏览器,以及与浏览器版本符合的 Chrome driver 驱动程序。
当浏览器版本升级时,Chrome driver 驱动程序也必须升级到相同版本,可以前往 这里 下载。
Selenium 官方提供了 Docker 镜像,包含浏览器以及对应版本的驱动程序。不同操作系统使用的镜像是不一样的。
MacOS Dockerfile 如下:
# 使用 ARM 兼容的 Selenium 镜像(适配 M1/M2 芯片)
FROM seleniarm/standalone-chromium:latest
# 设置工作目录
WORKDIR /app
# 安装 Python 及依赖(若脚本为 Python)
RUN sudo apt-get update && sudo apt-get install -y python3 python3-pip
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
# 复制脚本文件
COPY . .
# 启动命令(无需显式指定 chromedriver 路径)
CMD ["python3", "app.py"]
Linux Dockerfile 如下:
# 使用 Selenium 官方 Node-Chrome 镜像(已包含 Chrome 浏览器和驱动)
FROM selenium/node-chrome:4.0.0
# 设置工作目录
WORKDIR /app
# 安装 Python 及依赖
RUN sudo apt-get update && sudo apt-get install -y python3 python3-pip
COPY requirements.txt .
RUN pip3 install --no-cache-dir -r requirements.txt
# 复制脚本文件
COPY . .
# 设置无头模式环境变量(服务器无图形界面必需)
ENV HEADLESS=true
# 启动命令(添加浏览器优化参数)
CMD ["python3", "app.py"]
根据 Dockerfile 生成镜像:
# 生成镜像 selenium-env
$ docker build -t selenium-env .
根据镜像生成容器:
# 根据镜像 selenium-env 创建容器 selenium-test
$ docker run -d --name selenium-test selenium-env
↶ 返回首页 ↶