尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Playwright 经代理下载浏览器报 “self signed certificate in certificate chain“ 如何解决?
Playwright 经代理下载浏览器报 self signed certificate in certificate chain 如何解决【免费下载链接】playwrightPlaywright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.项目地址: https://gitcode.com/GitHub_Trending/pl/playwright在公司内网中Playwright 默认从 Microsoft 的 CDN 下载浏览器二进制文件直接访问通常被防火墙或代理拦截。按文档做法可以通过HTTPS_PROXY环境变量让 Playwright 走代理下载。但如果代理对流量做了拦截并使用企业自签的证书 authorityCA做中间人下载浏览器时会抛出Error: self signed certificate in certificate chain。此时的问题不在代理本身而是 Node.js 的 TLS 校验不信任代理的自签 CA——解决办法是先把企业根证书通过NODE_EXTRA_CA_CERTS环境变量注入再执行安装命令。本文依据 docs/src/browsers.md 中 Install behind a firewall or a proxy 一节给出完整的配置与验证路径。先确认下载流量走的是代理在修复证书问题前先确认安装命令确实经过代理。文档给出的方式是设置HTTPS_PROXY再执行install命令下文中https://192.0.2.1是文档中的示例代理地址替换为你所在公司的代理地址# bash HTTPS_PROXYhttps://192.0.2.1 npx playwright install:: Windows cmd set HTTPS_PROXYhttps://192.0.2.1 npx playwright install# PowerShell $Env:HTTPS_PROXYhttps://192.0.2.1 npx playwright installPython 语言绑定同理先安装包再经代理安装浏览器pip install playwright HTTPS_PROXYhttps://192.0.2.1 playwright installJava 与 C# 分别通过各自的 CLI 入口设置同样的环境变量# Java HTTPS_PROXYhttps://192.0.2.1 mvn exec:java -e -D exec.mainClasscom.microsoft.playwright.CLI -D exec.argsinstall# C# $Env:HTTPS_PROXYhttps://192.0.2.1 pwsh bin/Debug/netX/playwright.ps1 install如果命令运行到下载阶段即报出Error: self signed certificate in certificate chain说明代理在用自签 CA 拦截 HTTPS 请求进入下一步。用 NODE_EXTRA_CA_CERTS 指向企业根证书文档明确给出的修复方式是在安装浏览器之前把自定义根证书通过NODE_EXTRA_CA_CERTS环境变量传入。该变量的取值是企业代理 CA 根证书文件在本地磁盘上的路径按 shell 分别设置# bash export NODE_EXTRA_CA_CERTS/path/to/cert.pem:: Windows cmd set NODE_EXTRA_CA_CERTSC:\certs\root.crt# PowerShell $Env:NODE_EXTRA_CA_CERTSC:\certs\root.crt上面的/path/to/cert.pem、C:\certs\root.crt均为文档示例路径必须替换为你从公司 IT 处获取的根证书文件的实际位置.pem或.crt格式。设置完成后将代理变量与证书变量组合起来重新执行安装# bash证书变量 export 后与代理下载命令组合 export NODE_EXTRA_CA_CERTS/path/to/cert.pem HTTPS_PROXYhttps://192.0.2.1 npx playwright install:: Windows cmd set NODE_EXTRA_CA_CERTSC:\certs\root.crt set HTTPS_PROXYhttps://192.0.2.1 npx playwright install# PowerShell $Env:NODE_EXTRA_CA_CERTSC:\certs\root.crt $Env:HTTPS_PROXYhttps://192.0.2.1 npx playwright install证书校验通过后安装命令不再抛出Error: self signed certificate in certificate chain浏览器会完整下载到本机。验证浏览器是否安装成功安装完成后用install --list查看本机所有 Playwright 安装已拥有的浏览器npx playwright install --list# Python playwright install --list也可以直接查看浏览器缓存目录确认二进制已落盘。Playwright 把浏览器下载进 OS 特定的缓存目录Windows%USERPROFILE%\AppData\Local\ms-playwrightmacOS~/Library/Caches/ms-playwrightLinux~/.cache/ms-playwright文档给出的磁盘占用示例输出仅作示例实际数值随版本变化du -hs ~/Library/Caches/ms-playwright/* 281M chromium-XXXXXX 187M firefox-XXXX 180M webkit-XXXX相关的两个边界情况下载慢导致连接超时文档说明可以通过PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT环境变量以毫秒为单位调大连接超时例如PLAYWRIGHT_DOWNLOAD_CONNECTION_TIMEOUT120000 npx playwright install。在 Linux 上用代理安装系统依赖install-deps如果以 root 运行需要把HTTPS_PROXY一起传进去否则 Playwright 尝试提权时不会把HTTPS_PROXY等环境变量传递给 Linux 包管理器文档给出的写法是sudo HTTPS_PROXYhttps://192.0.2.1 npx playwright install-deps。最后说明一个相邻但不同的场景如果公司是在内部制品库托管浏览器二进制而非走代理那属于PLAYWRIGHT_DOWNLOAD_HOST的使用范畴与本文的证书问题不是同一处理路径本文不展开。【免费下载链接】playwrightPlaywright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.项目地址: https://gitcode.com/GitHub_Trending/pl/playwright创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Qt QML项目CMake模板:从构建配置到跨平台部署的完整指南

Qt QML项目CMake模板:从构建配置到跨平台部署的完整指南

写项目模板这事儿,说实话比写业务代码更容易翻车。业务代码写错了最多功能跑不通,项目模板要是有问题,那真的是一传十、十传百,整个团队、整个仓库的工程化地基都跟着歪。尤其是Qt的QML项目,C和QML混着写,资…

📅 2026/10/8 5:11:45
汽车电子MES选型:车规级单件追溯能力是核心

汽车电子MES选型:车规级单件追溯能力是核心

前段时间和一个做ECU代工的朋友聊天,他接到某主机厂的紧急客诉,要求三个小时内给出某批异常物料的具体装配范围——注意,是"哪几只成品板"用了这批物料,而不是"哪几批"。朋友当场傻眼:工厂用的是某…

📅 2026/10/7 19:53:06
科学问题凝练指南:基金本子撰写的核心技巧与避坑攻略

科学问题凝练指南:基金本子撰写的核心技巧与避坑攻略

每年到了写基金本子的季节,我身边总有不少同行会对着同一个问题犯愁:评审意见里那句“科学问题不够凝练”“缺乏明确的科学问题”到底是什么意思?我早年也吃过这个亏,写了三版本子才慢慢摸到门道。说实话,“科学问题”…

📅 2026/10/5 21:10:19
MORE NEWS

更多资讯

📰

应用商店合规下架潮:开发者应对策略与趋势分析

1. 应用商店生态变局观察最近业内同行们都在讨论一个现象:国内主流应用商店出现了一波明显的应用下架潮。作为从业十余年的移动应用开发者,我深切感受到这次调整带来的震动。不同于以往零星的下架事件,这次波及范围广、持续时间长&#xff0c…

📰

Flutter与OpenHarmony的Crontab定时任务开发实践

1. 项目背景与核心价值在跨平台开发领域,Flutter与OpenHarmony的结合正在开辟新的技术可能性。这个项目实现了Linux风格的定时任务调度系统(Crontab语法解析)在Dart环境中的完整移植,并特别针对鸿蒙系统进行了深度适配。作为开发者…

📰

text-to-cad 实战:从自然语言到参数化 CAD 模型的完整落地链路

1. 从一句话到三维模型:text-to-cad 到底在解决什么问题第一次听到 "text-to-cad" 这个词,很多人脑子里浮现的画面大概是:对着电脑说一句"给我画个带法兰的弯管接头",屏幕上就自动旋转出一个可以导出加工的 3…

📰

FFmpeg字幕嵌入GUI工具:批量硬编码SRT/ASS到MP4的生产级方案

简介:这是一款面向音视频后期从业者与字幕制作新手的本地化SRT字幕自动生成工具,解决人工听写效率低、在线识别需上传隐私视频、多文件批量处理困难等痛点。软件基于FFmpeg与语音识别模型构建,支持中英文双语识别,无需联网上传原视…

📰

iOS应用合规下架潮:开发者应对策略与技术方案

1. 事件背景与行业震动上周三早晨,不少iOS开发者一觉醒来发现自己的应用从中国区App Store神秘消失。这次下架潮波及范围远超往常,涉及游戏、工具、社交等多个品类,其中不乏月活百万级的应用。根据第三方监测数据,单日下架应用数量…

📰

S7-1214C Modbus TCP通信实战:从组态到排错

简介:这份资源面向自动化工程师与PLC初学者,聚焦西门子S7-1214C紧凑型PLC与机器人之间基于Modbus TCP的通信配置,解决以太网接口设置、主从站角色定义、寄存器地址映射及功能码使用等实际问题,适合具备一定Step 7编程基础、需要落…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬