Playwright在Windows上需显式执行playwright install chromium才能下载浏览器二进制,仅pip install playwright不触发安装;须激活虚拟环境、配置代理(如需)、避免默认全量安装,并注意杀软拦截、路径变量及无头模式GPU沙箱导致的截图异常。

Playwright 在 Windows 上默认不自动安装浏览器二进制文件,直接 pip install playwright 后运行会报 playwright._impl._errors.Error: Failed to launch browser —— 你必须显式触发浏览器下载,且需注意系统权限与网络代理问题。
执行 playwright install 命令前先确认 Python 环境隔离
如果你用的是虚拟环境(强烈建议),确保已激活后再运行安装命令;否则可能装到全局 Python,导致多项目间版本冲突或权限失败。
- 激活虚拟环境后,运行
python -m playwright install chromium(推荐 Chromium,启动快、兼容性好) - 若公司网络有代理,需提前设环境变量:
set HTTPS_PROXY=http://your-proxy:port(Windows CMD)或$env:HTTPS_PROXY="http://your-proxy:port"(PowerShell) - 不要用
playwright install不带参数——它默认尝试装三个浏览器(chromium/firefox/webkit),在 Windows 上易因磁盘空间不足或杀毒软件拦截而卡住
遇到 ERROR: Playwright executable doesn't exist at ... 的常见原因
这通常不是没装,而是 Playwright 找不到已下载的浏览器路径,尤其在使用非默认用户目录或重装系统后。
- 检查实际安装位置:
python -m playwright install-deps chromium会提示“Installing dependencies for Chromium”,但真正二进制在%USERPROFILE%\AppData\Local\ms-playwright\下,子目录名含哈希(如chromium-1234) - 如果手动移动过该目录,或设置了
PLAYWRIGHT_BROWSERS_PATH环境变量,请确认路径存在且可读;否则删掉该变量让 Playwright 回退到默认位置 - 某些杀软(如 McAfee、360)会静默删除
chrome-win\chrome.exe,可临时禁用并重试playwright install chromium
无头模式下 page.screenshot() 黑屏或白屏
Chromium 在 Windows 无头模式默认启用 GPU 沙箱,但部分系统(尤其是远程桌面、WSL2 或最小化安装版 Win10/11)缺少必要组件,导致渲染失败。
立即学习“Python免费学习笔记(深入)”;
- 启动时显式关闭沙箱:
browser = playwright.chromium.launch(headless=True, args=["--no-sandbox", "--disable-gpu"]) - 避免用
--headless=new(新版标志),Windows 上 Playwright v1.40+ 默认已适配,但旧项目若硬编码该参数,可能触发 Chromium 兼容性 fallback,反而出问题 - 截图前加等待:
page.wait_for_load_state("networkidle"),否则页面 DOM 尚未就绪,截出来就是空背景
最常被忽略的一点:Playwright 的 launch() 调用本身不抛异常不代表浏览器真能响应请求——务必在首次 page.goto() 后加简单断言(比如 print(page.url)),否则黑盒调试时容易误判为代码逻辑问题而非环境缺失。


















