使用 Docker 在 MacOS 和 Linux 系统搭建 Selenium 运行环境

2025-08-04 01:01:48

Selenium 是开源的 Web 自动化测试框架,支持通过代码方式让浏览器执行各类交互操作。包括但不限于:

本文是工作中使用 Selenium 的笔记。

一、不使用 Docker 搭建 Selenium 环境

使用 Selenium 需要 Chrome 浏览器,以及与浏览器版本符合的 Chrome driver 驱动程序。

当浏览器版本升级时,Chrome driver 驱动程序也必须升级到相同版本,可以前往 这里 下载。

二、使用 Docker 搭建 Selenium 环境

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

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: