For the complete documentation index, see llms.txt. This page is also available as Markdown.

Playwright

Playwright 对代理有一等支持——直接把凭证传给 launch()new_context(),无需扩展技巧。

Python

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(proxy={
        "server":   "http://gate.helodata.io:7777",
        "username": "helo_s1a2b3c4d5e-type-res-region-us",
        "password": "PASSWORD",
    })
    page = browser.new_page()
    page.goto("https://ipv4.icanhazip.com")
    print(page.content())
    browser.close()

SOCKS5 用 "server": "socks5://gate.helodata.io:7777",DNS 由代理解析。

Node.js

import { chromium } from "playwright";

const browser = await chromium.launch({
  proxy: {
    server:   "http://gate.helodata.io:7777",
    username: "helo_s1a2b3c4d5e-type-res-region-us",
    password: "PASSWORD",
  },
});
const page = await browser.newPage();
await page.goto("https://ipv4.icanhazip.com");
console.log(await page.content());
await browser.close();

按 Context 配代理

不同浏览器 Context 用不同代理——适合并发会话:

浏览器进程共享,Context 之间彼此隔离,像独立的 profile。

ISP

Playwright 中轮换会话

每个 Context 生成新的子账号字符串,带独立 session-XXX

验证

常见陷阱

  • 代理认证无需 headless 特殊参数 — Playwright 在 headful/headless 下都原生支持。

  • WebRTC 泄露 — Playwright 默认不通过 WebRTC 暴露本机 IP,若目标会嗅探请用 browserleaks.com/webrtc 复核。

  • 绕过清单 — 用 proxy.bypass = "localhost,127.0.0.1" 避免把内网目标也代理出去。

最后更新于

这有帮助吗?