Windows10运行Playwright报browserType.launch: spawn UNKNOWN如何解决
问题排查与解决方案
spawn UNKNOWN是Windows平台子进程启动失败的底层报错,同项目、同配置跨机器运行表现不一致的情况,已经可以排除Playwright版本、项目代码、依赖安装的问题,故障点在本机系统层面,按以下优先级逐一排查即可:
1. 安全软件/系统防护策略拦截
- 这是该类跨所有浏览器启动失败场景的最高发诱因:本机安装的杀毒软件、企业EDR端点管控、Windows Defender应用控制/受控文件夹访问功能,会静默拦截Playwright缓存目录下的无官方数字签名浏览器可执行文件,全程不会弹出拦截提示,直接导致进程拉起失败。
- 临时关闭所有安全防护功能(包括第三方杀毒、火绒/360、公司统一安装的安全管控客户端、Windows Defender实时保护)后重新运行命令测试。
- 如果关闭防护后运行正常,将两个路径加入安全软件白名单即可:一是Playwright默认浏览器缓存目录
%LOCALAPPDATA%\ms-playwright,二是项目所在的node_modules目录。
2. 系统ComSpec环境变量异常
Playwright拉起浏览器进程依赖Windows默认命令解释器路径,ComSpec变量配置错误会导致所有spawn类调用直接失败:
- 打开系统环境变量面板,检查系统变量下的
ComSpec项,确认变量值为C:\Windows\system32\cmd.exe(系统盘非C盘时替换为对应盘符)。 - 变量缺失、被篡改为其他路径的话手动修正,修正后重启终端再测试。
- 快速验证方式:新开原生CMD窗口,执行
echo %ComSpec%,确认输出的路径真实存在,双击该路径下的cmd.exe可以正常拉起命令行窗口。
3. PATHEXT环境变量配置损坏
- 检查系统变量下的
PATHEXT项,确认值中包含.COM;.EXE;.BAT;.CMD四个核心可执行文件后缀,缺失的话手动补全。 - 不要随意清空PATHEXT变量、调整后缀优先级,否则系统无法识别可执行文件格式,触发spawn UNKNOWN报错。
4. 系统临时目录权限不足
- Playwright启动时会在系统临时目录解压运行时依赖文件,临时目录读写/执行权限不足会导致进程拉起失败。
- 打开资源管理器进入
%TEMP%目录,右键打开属性-安全面板,确认当前登录账号对该目录拥有读取、写入、执行权限。 - 快速验证方式:在当前终端执行
set TEMP=D:\ptemp(提前在D盘新建ptemp文件夹)临时切换临时目录路径,再运行Playwright命令测试是否恢复正常。
5. 第三方终端环境冲突
- 如果你当前在Git Bash、WSL、MINGW、其他第三方模拟终端中运行命令,切换到原生CMD或PowerShell窗口重新测试。
- 部分第三方终端会篡改spawn调用的路径传参格式,导致Windows系统无法定位待启动的可执行文件。
内容的提问来源于stack exchange,提问作者jj_inno
相关产品推荐
相关产品推荐

