Playwright 代理配置指南
Playwright 使代理成为一流:一个代理对象包含服务器、用户名和密码,可以在浏览器或上下文级别设置。以下是 Python 和 Node 中经过身份验证的 s4m 代理的干净设置。
一个代理对象,两个范围
与 Puppeteer 不同,Playwright 直接在其 proxy 选项中接受凭据,因此没有单独的身份验证步骤。该对象包含三个字段:server(主机和端口,带方案),以及 username 和 password。Playwright 为您处理代理的 407 挑战。
您可以在两个范围内设置该对象。将其传递给browser_type.launch(proxy=...)会将一个代理应用于整个浏览器。将其传递给browser.new_context(proxy=...)则将代理范围限制在单个上下文中——这就是您如何在一个浏览器中运行多个身份,每个身份都有自己的出口。对于s4m,请使用server="http://proxy.s4m.online:3128"与您的USER:PASS;HTTP端点是浏览器的可靠选择。Playwright还通过socks5://proxy.s4m.online:1080支持SOCKS5,尽管在浏览器中最好避免使用经过身份验证的SOCKS5。有关更多信息,请参见代理页面和Puppeteer指南。
使用认证代理的 Playwright
Python 和 Node,均设置服务器 + 用户名 + 密码。上下文级别的作用域允许每个上下文使用自己的出口。
# pip install playwright && playwright install chromium
from playwright.sync_api import sync_playwright
PROXY = {
"server": "http://proxy.s4m.online:3128", # HTTP endpoint
"username": "USER",
"password": "PASS",
}
with sync_playwright() as p:
# Option A: proxy for the whole browser
browser = p.chromium.launch(proxy=PROXY, headless=True)
# Option B: proxy scoped to a single context (per-identity)
context = browser.new_context(proxy=PROXY)
page = context.new_page()
page.goto("https://api.ipify.org?format=json", timeout=30000)
print("Exit IP:", page.inner_text("body"))
browser.close()
# ----- Node equivalent -----
# const { chromium } = require("playwright");
# const proxy = {
// server: "http://proxy.s4m.online:3128",
// username: "USER", password: "PASS",
// };
# (async () => {
// const browser = await chromium.launch({ proxy, headless: true });
// const page = await browser.newPage();
// await page.goto("https://api.ipify.org?format=json");
// console.log(await page.innerText("body"));
// await browser.close();
// })();设置它
从安装到经过验证的代理运行。
安装浏览器
运行 pip install playwright 然后 playwright install chromium(或 npm i playwright)。Playwright 下载自己的浏览器构建,因此不需要系统 Chrome。
构建代理对象
将服务器设置为 http://proxy.s4m.online:3128,并用您的 s4m 凭据填写用户名和密码。无需单独的身份验证调用。
选择范围
将代理传递给 launch() 以实现浏览器范围的退出,或在您希望每个上下文使用自己的 IP 以实现多个身份时传递给 new_context()。
确认出口
导航到IP回显端点并读取主体,以验证流量确实通过代理离开,然后再构建其余流程。
每个上下文的身份和诚实的限制
上下文级代理是Playwright在大规模自动化中的超级能力:一个浏览器进程,多个上下文,每个上下文都有自己的cookie和出口IP,彼此隔离。这比为每个身份启动一个浏览器更干净、更轻便。将其与每个上下文的独特User-Agent和视口设置配对,以便每个身份在内部保持一致。
同样的诚实适用于其他地方。s4m代理是数据中心 SOCKS5和HTTP——快速且稳定,理想用于测试和监控,但并不伪装成家庭连接,因此重度防御的网站可能会标记它们。代理更改您的IP,而不是您的浏览器指纹或行为,因此将其视为多个层中的一层。当服务期望一个稳定的地址时,添加一个专用个人IP。使用工具检查出口和端口,探索API,并首先以低成本测试免费代理列表。
问题,已解答
我需要在 Playwright 中单独进行身份验证步骤吗?
不会。与Puppeteer不同,Playwright直接在其代理对象中获取用户名和密码,以及服务器。它会自动处理407挑战。
我可以给每个上下文设置自己的代理吗?
是的。将代理对象传递给browser.new_context(proxy=...),该上下文使用自己的出口。这是在一个浏览器中运行多个身份的干净方式。
我应该使用 HTTP 还是 SOCKS5 端点?
对于浏览器,请使用3128端口上的HTTP端点——这是可靠的选择。Playwright也支持SOCKS5,但在浏览器中最好避免使用经过身份验证的SOCKS5。
s4m的代理是住宅代理吗?
不。它们是经过身份验证的数据中心SOCKS5和HTTP代理,按需计费。非常适合测试和监控,尽管激进的反机器人系统可能会标记数据中心范围。
人们通过搜索找到此页面
- Playwright 代理配置指南
- 什么是 Playwright 代理配置指南
- YouTube解锁:代理与VPN与镜像
- Playwright 代理配置指南 适合初学者
- 如何在 Chrome 和 Firefox 中设置代理
- 免费代理列表
- 如何设置wireguard
- 什么是 用于抓取的代理
- openvpn 用于 Windows
- http 代理 用于商业
- 下载 代理认证
- socks5代理提供商
- 网站如何检测代理和VPN
此页面回答的真实搜索短语 — 链接的短语打开详细覆盖它们的页面。