Playwright设置代理

一句话 Playwright 不读系统代理。在 launch 或 context 的 proxy 字段填主机端口账密,先 curl 测通。

Playwright 走代理:在 launchnewContextproxy 对象里填主机、端口、用户名、密码。 它不读系统代理,也不读你在终端 exportHTTP_PROXY。先用同一条接入在 curl 里看到正确出口,再写进浏览器进程。

网页出口先接动态住宅。本篇只讲自动化浏览器怎么接到网关,不是采集教程,也不教绕过登录墙。

该写进 Playwright、不该写进 Playwright

该写:脚本要打开公开页,看目标国家的文案、排版或跳转;同一套用例换几个国家跑。控制台生成 HTTP/HTTPS 接入,把主机写成 http://主机:端口,账密放在 username / password,不要塞进主机字符串里和字段各写一份。

不该写:只想本机 Chrome 人手点——用扩展,见Chrome代理扩展。只想确认这条接入能通——用 curl使用代理。以为开了桌面系统代理或 shell 环境变量,Playwright 就会自动走——Chromium 进程不吃这两套。公司电脑锁了系统代理,也不等于 Playwright 已经出网;没填 proxy 就仍是跑脚本那台机器的宽带。

动态住宅按 GB,起步 $0.79/GB。池是 超9000万合规采集,国家按控制台在线列表选(公开页写 195+)。Playwright 只决定「这个浏览器进程怎么连网关」,不决定你买的是动态还是静态。

客户端只要 SOCKS5 栏时,把 server 写成 socks5://主机:端口。换协议不会把住宅流量转到机房或移动池。协议怎么选,见HTTP代理和SOCKS5哪个好

launch 和 context 差在哪

你怎么启动 代理作用范围 容易踩的坑
chromium.launch({ proxy }) 这个浏览器里后来建的 context 都走同一条接入 启动后再 newContext 另写一套,两套会打架
browser.newContext({ proxy }) 只这个 context launch 时没代理、这个 context 也漏了,页面仍走本机
只设环境变量 Playwright 的 Chromium 不保证会读 页面能开、出口仍是机房宽带

字段就四个:serverusernamepassword,有的版本还有 bypassbypass 写的是不走代理的主机,比如本机调试页。不要把目标站域名填进 bypass 然后抱怨没换出口。

用户名密码里的 @:# 按 URL 编码后再填,或按控制台给出的原样填进独立字段。填完用同一组在 curl 的 -x 对一下。窗口逐步图在如何使用动态住宅代理。接口字段以文档为准。

需要同一个 IP 撑一会儿,用粘性会话;订购期内固定地址才买静态住宅。对方说的短效 / 长效 / 包时,用粘性、按 GB、按 IP 理解即可。

页面开了但出口没变

打开 IP 查询页或你有权检查的公开页,看出口国家和 IP。网关 7×24 监控,网络成功率 99.97% 管连通,不管某一个网站给你哪套页面。页面能开但出口仍是宽带,多半是 proxy 没挂到这个 context,或 bypass 把这个域名漏出去了。

  1. 407:网关收到了请求,不接受认证。先对 username / password 是否和控台同一条,再看有没有和白名单一起开,见407代理认证失败。白名单填的是跑脚本这台机器此刻的公网 IP,不是 Playwright 里看到的出口。
  2. 连不上 / 超时:先确认 server 的协议、主机、端口和生成结果一致。不要为了出网关掉证书校验。
  3. curl 通、Playwright 不通:两边不是同一条通道。curl 走 -x,Playwright 只认自己的 proxy。不要再叠一层系统代理。
  4. 隐式复用了旧浏览器:有的启动参数会连上已经开着的 Chrome。那个进程没有你刚写的 proxy。关掉旧实例,让 Playwright 自己拉一个带代理的 Chromium。

不要把本篇当成未授权访问或绕过验证码的教程。频率和目标站条款由你负责。套餐以定价为准。只在官方网站购买,开始使用无需信用卡。

查看产品查看定价打开帮助中心