跳到正文

Playwright 代理设置:一个浏览器上下文一条带账号密码的 IP

每个 Playwright 并发任务一条独立出口:测试用固定机房 IP,网站封服务器 IP 时换家庭宽带 IP。

为什么 Playwright 要配代理

Playwright 驱动的是真实浏览器,但每个页面请求仍然从你机器的 IP 发出。一台服务器同时跑很多上下文,网站看到的是同一个地址在干很多访客的活,常见结果是 HTTP 429(请求过多,要求你降速)或直接拦截。

Playwright 自带代理支持:可以给整个浏览器设一条,也可以给每个浏览器上下文(context)单独设,并发任务各走各的 IP。官方文档说明 HTTP 代理可以填用户名和密码。

国内开发者常踩两个坑。一是 Chromium 不支持 SOCKS5 代理认证,也不会使用写在代理设置里的账号密码,带密码的代理请用 HTTP 地址。二是国内网络无法直接连接海外代理:在 Windows / macOS 上先打开 控制台 → 连接工具 → 辅助工具;脚本跑在服务器上时,用香港、新加坡等境外服务器。

Playwright 推荐配置

可使用方向键横向滚动,阅读完整内容。

Playwright 推荐配置
比较项目选择原因
产品静态机房代理单 IP 最快最便宜,租期内固定不变,适合测试、CI 和接受服务器 IP 的网站
网站封服务器 IP 时动态住宅,低价线路真实家庭宽带 IP,US$1.50/GB 起,按流量付费、不按 IP 收费
买几条 IP一个并发任务(浏览器上下文)一条各任务不再共用一个地址、一份频率限制
国家目标用户所在国家;机房 IP 可选美国、加拿大、英国、德国、荷兰、日本、韩国、新加坡按访客位置变化的页面和价格,要从对应国家看才准
协议HTTPChromium 不能给 SOCKS5 传密码,HTTP 在所有 Playwright 浏览器里都能认证
IP 会变吗机房 IP 租期内不变想继续用同一条 IP,到期前在「我的资产」续费

下面的按钮会打开「静态机房代理」并选好「AI 与自动化」场景,付款前选好地区、租期、协议和「数量」(一次最多 100 个 IP)。

买哪种 Proxy302 代理

可使用方向键横向滚动,阅读完整内容。

买哪种 Proxy302 代理
比较项目静态 ISP动态住宅机房(数据中心)
你得到什么一条独享的家庭宽带 IP,租期内一直归你真实家庭宽带 IP:可轮换出口,也可在指定国家或城市保持粘性会话速度快的固定机房 IP,支持 HTTP / SOCKS5
价格按 IP 和租期,下单页实时报价低价线路 US$1.50/GB(100 GB 套餐 US$1.35/GB);优质线路 US$5.00/GB按 IP 和租期,单 IP 成本最低
最适合 Playwright需要几周都用同一 IP 的登录流程采集拦截服务器 IP 的网站CI、端到端测试、高速批处理

价格以美元计。钱包充值一次,各类线路都从钱包付款;不会自动续费,想保留 IP 请在「我的资产」里续费。

5 步配好 Playwright 代理

  1. 先开海外网络环境

    国内网络无法直接连接海外代理:在 Windows / macOS 上打开 控制台 → 连接工具 → 辅助工具 并保持开启;脚本跑在服务器上时,用香港、新加坡等境外服务器。

  2. 选地区和租期

    点下面的按钮,打开「静态机房代理」(按 IP 和租期),场景已选「AI 与自动化」。在「连接配置」里选「地区」和「租期」,「协议」选 HTTP,「数量」按并发任务数填(一次最多 100 个),然后点「确认费用并生成」。

  3. 复制每条 IP

    在「我的资产」点「复制」,得到「地址:端口:用户名:密码」连接串。地址和端口填进 PROXY_HOST、PROXY_PORT,用户名和密码填进 PROXY_USER、PROXY_PASS,密码不写进代码。也可以点「复制给 AI」,选 Playwright,把生成的说明交给 Cursor、Claude Code 等工具,让它帮你配好并验证出口 IP。

  4. 写进 Playwright 并验证

    用下面的代码:proxy 写在 newContext() 上,一个上下文一条 IP;写在 launch() 上,整个浏览器共用一条。server 必须是 http://地址:端口。

    预期结果 脚本打开 api.ipify.org,打印出的是代理 IP,不是你本机的 IP。

  5. 网站封机房 IP 时

    改用「动态住宅代理」:「线路」选「低价线路」,在「补充流量」买 1 GB 起的套餐,「出口模式」选「全球轮换」(新连接可换出口),或选「指定地区 / 保持 IP」固定在某个国家、城市。动态住宅的 HTTP 入口是 proxy.proxy302.com:2222。

Playwright 带账号密码的代理(Node.js)

可使用方向键横向滚动,阅读完整内容。

// npm i playwright   then   npx playwright install chromium
import { chromium } from 'playwright'

// From Proxy302 → My assets → Copy (host:port:user:password)
const { PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS } = process.env

const browser = await chromium.launch()
// One proxy per browser context: each parallel worker gets its own exit IP
const context = await browser.newContext({
  proxy: {
    server: `http://${PROXY_HOST}:${PROXY_PORT}`, // HTTP: Chromium can't send a SOCKS5 password
    username: PROXY_USER,
    password: PROXY_PASS,
  },
})
const page = await context.newPage()
await page.goto('https://api.ipify.org?format=json')
console.log(await page.textContent('body')) // {"ip":"..."}: the proxy's exit IP, not your server's
await browser.close()

2026-10-18 用 Playwright 1.63.0 + Chromium 153 在本地带密码的代理上实测:凭据正确时页面能打开,密码错误时打不开。把检测 IP 的地址换成你的目标网站即可。

Python 写法

可使用方向键横向滚动,阅读完整内容。

# pip install playwright   then   playwright install chromium
import os
from playwright.sync_api import sync_playwright

# From Proxy302 → My assets → Copy (host:port:user:password)
proxy = {
    "server": f"http://{os.environ['PROXY_HOST']}:{os.environ['PROXY_PORT']}",
    "username": os.environ["PROXY_USER"],
    "password": os.environ["PROXY_PASS"],
}

with sync_playwright() as p:
    browser = p.chromium.launch(proxy=proxy)  # or browser.new_context(proxy=proxy) per worker
    page = browser.new_page()
    page.goto("https://api.ipify.org?format=json")
    print(page.text_content("body"))  # the proxy's exit IP
    browser.close()

Playwright Python 版在 launch() 或 new_context() 里传同样的 proxy 字典。本段只做了语法检查,上面的 Node.js 版做了完整实测。

常见问题速查

报 407 Proxy Authentication Required

检查 用户名、密码和「我的资产」里的一致吗?Chromium 里 server 是不是写成了 socks5://?

处理 重新复制连接串,地址:端口填进 server,用户名、密码分别填进 username、password,这两个字段不需要 URL 编码。

连接超时或 net::ERR_PROXY_CONNECTION_FAILED

检查 辅助工具开着吗?在同一台机器上运行 curl -x http://用户名:密码@地址:端口 https://api.ipify.org 能通吗?

处理 国内网络先开辅助工具;curl 也不通时,检查本机防火墙或服务器出站规则,或换境外服务器运行。

页面显示的还是本机 IP

检查 proxy 设在打开页面的那个上下文上了吗?目标域名在 bypass 里吗?

处理 把 proxy 加到对应的 newContext()(或 launch()),并从 bypass 里删掉该域名。

跑一阵后出现 429 或验证页

检查 是不是好几个上下文共用一条 IP?页面打开得太快?

处理 一个上下文一条 IP,放慢速度,或把这个网站换到动态住宅。

Playwright 代理常见问题

Playwright 怎么设置代理?

在 launch() 或 newContext() 里传 proxy:{ server, username, password }。Node.js、Python、Java、.NET 的写法一致。

Playwright 能用带密码的 SOCKS5 吗?

Playwright 接受 socks5:// 地址,但 Chromium 不支持 SOCKS5 认证。带账号密码的 Proxy302 代理,请用它的 HTTP 地址。

npx playwright install 下载浏览器很慢或失败怎么办?

浏览器默认从微软 CDN 下载。国内网络先打开辅助工具再安装;也可以按官方文档设置 HTTPS_PROXY 让下载走代理,或用 PLAYWRIGHT_DOWNLOAD_HOST 指向内部镜像。

Playwright 怎么轮换 IP?

每个任务或会话开一个新的上下文,配不同的代理。动态住宅选「全球轮换」时,新连接可以换出口;固定在某地区的代理,在「我的资产」点「轮换」即可换一个 IP。

动态住宅还是机房?

网站接受服务器 IP 就用机房,单 IP 最快最便宜;网站拦截或频繁验证服务器 IP 时用动态住宅。

来源与验证

9
  1. Playwright 文档:网络 — HTTP 代理

    官方文档 · 核对于:

  2. Playwright API:browserType.launch() 的 proxy 选项

    官方文档 · 核对于:

  3. Chromium:Chrome 的代理支持说明

    官方文档 · 核对于:

  4. Playwright 文档:在防火墙或代理后安装浏览器

    官方文档 · 核对于:

  5. MDN:429 Too Many Requests

    官方文档 · 核对于:

  6. Proxy302 价格页

    产品观察 · 核对于:

    动态住宅按 GB 价格以价格页和控制台为准(低价线路 US$1.50/GB,100 GB 套餐 US$1.35/GB;优质线路 US$5.00/GB;1 PTC = 1 美元)。静态 ISP 和机房 IP 按数量和租期实时报价。

  7. Proxy302 控制台 — 静态机房代理

    产品观察 · 核对于:

    选项名称、计费方式与限制以 2026-10-18 线上控制台为准:线路(优质 / 低价)、出口模式、地区、州 / 省、城市、协议(HTTP / SOCKS5)、数量(1–500)、租期、自动续租 IP(暂未开放),我的资产 → 复制 / 轮换 / 续费 / 复制给 AI。动态住宅入口为 proxy.proxy302.com:2222(HTTP)和 :3333(SOCKS5)。 2026-10-18 只读核对生产目录:静态机房 IP 在售 8 个国家——美国、加拿大、英国、德国、荷兰、日本、韩国、新加坡。

  8. 本地代理夹具实测

    本地示例 · 核对于:

    2026-10-18 在本地带密码的 HTTP 代理夹具上运行了本段代码(凭据错误时返回 407);Playwright 1.63.0 + Chromium 153:凭据正确时页面经代理打开,密码错误时打不开页面。

    本地实测只证明配置写法和认证路径正确,不代表能访问任何具体网站、国家或平台。

  9. Proxy302 控制台 → 连接工具 → 辅助工具

    产品观察 · 核对于:

    控制台「连接工具」页提供辅助工具(Windows / macOS 全局代理);「我的资产 → 复制给 AI」生成的说明写明:在中国大陆使用代理前需先打开辅助工具或已连上 VPN。

准备好接入了吗?

注册账号、一次充值,即可选择动态住宅、静态 ISP 或数据中心出口。动态住宅覆盖 195+ 国家与地区。