如何让Playwright在M1 Mac设备上使用Apple Silicon版Chrome而非Intel版?
强制Playwright使用Apple Silicon版arm64 Chrome的解决方案
你的判断大概率是对的——Rosetta转译的x86 Chrome在M1 Max上会产生明显性能损耗,直接导致测试加载变慢。以下是几种可行的解决方法:
方法1:让Playwright自动下载arm64架构的Chromium
Playwright默认会根据宿主架构匹配对应版本的浏览器,但如果之前缓存了x86版本,需要强制刷新:
- 先更新Playwright到最新版本(确保对Apple Silicon的支持完善):
npm update playwright - 强制重新安装Chromium,触发arm64版本的下载:
安装完成后,Playwright会自动使用原生arm64的Chromium,无需额外配置。npx playwright install --force chromium
方法2:指定使用系统安装的arm64 Chrome
如果你想直接用系统里的通用版Chrome(而非Playwright自带的Chromium),可以在配置文件里指定可执行文件路径:
在playwright.config.js或playwright.config.ts中添加executablePath配置:
module.exports = { use: { browserName: 'chromium', // 指向系统Chrome的arm64可执行文件路径 executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', }, };
验证是否生效:运行测试时添加DEBUG环境变量,查看浏览器启动日志:
DEBUG=playwright:browser npx playwright test
日志里会显示浏览器的架构信息,确认是arm64即可。
额外注意事项
- 检查是否存在
PLAYWRIGHT_CHROMIUM_PATH环境变量,若指向了旧的x86版本浏览器,需要删除该变量 - 系统安装的通用版Chrome默认优先使用arm64架构,确保没有手动勾选“使用Rosetta打开”(右键应用→显示简介→取消该选项)
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

