5分钟快速上手 docker-python-chromedriver:运行你的第一个 Headless Chrome 测试
【免费下载链接】docker-python-chromedriverDockerfile for running Python Selenium in headless Chrome (Python 2.7 / 3.6 / 3.7 / 3.8 / Alpine based Python / Chromedriver / Selenium / Xvfb included in different versions)项目地址: https://gitcode.com/gh_mirrors/do/docker-python-chromedriver
docker-python-chromedriver 是一个开源的 Docker 镜像方案,它将 Python、Google Chrome、Chromedriver 与 Selenium 打包进同一个容器,让你能一键搭建起 Headless Chrome 自动化测试环境。本教程面向零基础新手,带你用 5 分钟完成环境搭建,并成功运行你的第一个 Selenium 无头浏览器测试——全程只需要一台装有 Docker 的电脑。
🚀 还在为"装 Chrome、配驱动、搭环境"焦头烂额?这篇 docker-python-chromedriver 使用教程帮你一次搞定。
什么是 docker-python-chromedriver?为什么值得用?
简单说,这是一个"开箱即用"的自动化测试环境。传统搭建 Selenium 测试环境,你需要:
- 安装 Python 解释器 ✅
- 下载对应版本的 Google Chrome ✅
- 下载并配置 Chromedriver ✅
- 处理驱动与浏览器版本不匹配的坑 😫
而使用 docker-python-chromedriver,以上步骤全部由镜像完成。你只需一条docker run命令,就能进入一个预装好一切的测试环境。
核心优势一目了然:
| 痛点 | 传统方案 | docker-python-chromedriver |
|---|---|---|
| 环境搭建 | 手动装 3~4 个组件,耗时 1 小时+ | 一条命令,秒级进入 |
| 版本兼容 | 驱动和浏览器版本常打架 | 镜像内已配好 |
| 团队协作 | "我这边跑得好好的" | 人人环境一致 |
| 资源占用 | 常驻本机 | 用完即弃,零污染 |
环境准备:5 分钟上手只需两个前提
开始之前,请确认:
- 本机已安装 Docker(Windows / macOS / Linux 均可)
- 会打开终端执行命令(复制粘贴即可,无需任何编程基础)
提示:Docker 镜像仅支持 amd64(x86-64)架构,Apple M1 等 arm64 机器需注意兼容性,详见文末"常见问题"。
最快上手方法:四步运行你的第一个 Headless Chrome 测试
第一步:克隆项目仓库
在终端执行:
git clone https://gitcode.com/gh_mirrors/do/docker-python-chromedriver cd docker-python-chromedriver第二步:启动容器环境
项目使用挂载方式,让容器内的/usr/workspace直接映射到你当前目录:
docker run -it -w /usr/workspace -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:latest bash命令解析(新手必看):
-it:进入交互式终端-w /usr/workspace:容器内工作目录-v $(pwd):/usr/workspace:把本机目录挂载进容器,代码互通
第三步:安装 Selenium 依赖
latest基础镜像未预装 Selenium,进入容器后执行:
pip install selenium💡 想省掉这一步?直接选用带
-selenium后缀的镜像即可,后面会讲版本选择。
第四步:运行测试脚本
项目自带一个可运行的 Selenium 示例脚本 test_script.py,它会启动 Headless Chrome,打开页面并自动点击页面上的按钮:
python test_script.py看到类似输出就代表大功告成 🎉:
test_case_1 (__main__.TestTemplate) Find and click top-left logo button ... ok test_case_2 (__main__.TestTemplate) Find and click top-right Start your project button ... ok ---------------------------------------------------------------------- Ran 2 tests in 11.852s OK从克隆到跑通第一个测试,全程真的只要 5 分钟!
深入了解:镜像里到底装了什么?
以 Debian 版 Dockerfile.template 为例,镜像构建核心就三步:
- 安装 Google Chrome:添加官方源并安装
google-chrome-stable - 安装 Chromedriver:自动拉取最新版驱动并解压到
/usr/local/bin/ - 设置显示端口:通过
ENV DISPLAY=:99避免无头模式下崩溃
完整镜像包含以下组件:
| 组件 | 说明 |
|---|---|
| 🐍 Python | Debian 或 Alpine 基础镜像 |
| 🌐 Google Chrome | 稳定版浏览器 |
| 🚗 Chromedriver | 与 Chrome 匹配的驱动 |
| 📦 Selenium | 部分版本已预装 |
| 🖥️ Xvfb | 部分版本提供虚拟显示 |
版本选择指南:Debian 版、Alpine 版怎么选?
项目提供两大系列镜像,覆盖 Python 2.7 / 3.6 / 3.7 / 3.8 / 3.9 / 3.10 / 3.11:
Debian 版(体积较大,兼容性最好)
latest(=3.9)、3.9、3.8、3.7、3.6等- 适合对兼容性要求高、不在乎镜像体积的场景
- 对应 Dockerfile 见 py-debian/3.9/Dockerfile
Alpine 版(轻量精简,启动更快)
3.9-alpine、3.8-alpine、3.7-alpine、3.6-alpine等- 镜像体积更小,适合 CI/CD 流水线
- 注意:进入容器用
sh而非bash - 对应 Dockerfile 见 py-alpine/3.9-alpine/Dockerfile
快速决策表
| 需求 | 推荐版本 |
|---|---|
| 想省事,开箱即用 | 3.9-selenium(已预装 Selenium) |
| 追求镜像体积小 | 3.9-alpine-selenium |
| 需要虚拟显示跑可视化测试 | 3.6-xvfb-selenium(已弃用但可参考) |
| 兼容老项目 | 2.7系列(已弃用,谨慎选择) |
对应运行命令示例:
# Alpine 系列用 sh 进入 docker run -it -w /usr/workspace -v $(pwd):/usr/workspace joyzoursky/python-chromedriver:3.9-alpine-selenium sh进阶玩法:如何生成自己的自定义镜像版本?
项目支持通过模板批量生成多版本 Dockerfile,这也是其设计亮点之一:
- 进入 py-debian/ 或 py-alpine/ 目录
- 修改 Dockerfile.template 或 Dockerfile-selenium.template
- 运行
bash render.sh,自动为所有 Python 版本生成对应 Dockerfile
这样你就能在官方镜像基础上,添加自定义依赖,打造团队专属的 Selenium 测试环境。
常见问题与注意事项
1. Apple M1 芯片能跑吗?目前镜像仅支持 amd64 架构,arm64 机器(如 M1)存在兼容性问题,建议使用 x86-64 服务器或在 Rosetta 模拟下尝试。
2. 测试脚本里为什么要加这些参数?test_script.py 中配置了--headless(无头模式)、--no-sandbox(容器内运行必需)、--disable-gpu(避免 GPU 报错)、--window-size=1920,1080(固定视口尺寸),这些是容器内跑 Chrome 的黄金组合。
3. 如何把测试代码放进容器?把代码放到docker run时的挂载目录即可,容器内外文件实时同步,无需重新构建镜像。
4. 想了解项目更多版本?完整版本清单见项目根目录的 README.md,所有 Dockerfile 都在 py-debian/、py-alpine/ 与 deprecated/ 目录下。
现在你已经掌握了 docker-python-chromedriver 的核心用法。从克隆仓库到跑通第一个 Headless Chrome 测试,全程不超过 5 分钟。接下来,你只需要把test_script.py替换成自己的业务测试用例,就能在 Docker 里轻松运行 Selenium 自动化测试了。快去试试吧!🚀
【免费下载链接】docker-python-chromedriverDockerfile for running Python Selenium in headless Chrome (Python 2.7 / 3.6 / 3.7 / 3.8 / Alpine based Python / Chromedriver / Selenium / Xvfb included in different versions)项目地址: https://gitcode.com/gh_mirrors/do/docker-python-chromedriver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考