实战文章

Playwright 遇到 403:按这个顺序排查 IP、会话和页面状态

Playwright403代理配置浏览器自动化

不要一看到 403 就换代理。先确认 Playwright 上下文里的可见 IP、地区、Cookie、最终 URL、截图、状态码和请求节奏。

遇到 403 时,先把证据留全。 用同一个浏览器上下文确认 IP、加载目标页面、保存截图,并记录地区、状态码和重试次数。

Playwright 配好代理后仍然遇到 403,很常见。这个时候最容易犯的错误,是直接换一批代理,或者不断改浏览器参数。这样可能会让问题更乱,因为你不知道到底是地区不对、会话断了、Cookie 缺失、访问太快,还是目标页面本身有策略限制。

更稳的做法是先做一个小范围基准测试。不要拿全量 URL 直接跑,把代表性的 5 到 10 个页面拿出来,每个页面都保存截图、状态码、最终 URL、代理地区和重试次数。

建议排查顺序

  1. 在 Playwright 的同一个浏览器上下文里打开 IP 查询页,确认可见 IP 和国家。
  2. 打开目标页面,记录是否跳转、是否出现登录墙、验证码、空白页或地区提示。
  3. 失败时保存截图,不要只看控制台里的错误文本。
  4. 确认 Cookie、登录态和会话是否在多次跳转中保持一致。
  5. 把访问频率降下来,再观察 403 是否减少。
  6. 最后再比较动态住宅代理、粘性会话或 ISP 代理的成功率。

什么时候需要稳定会话

如果页面需要连续浏览、登录状态、购物车、筛选条件或地区偏好,频繁轮换可能会制造新问题。此时更适合粘性会话或静态 ISP 代理。相反,如果只是检查大量公开页面,且每个页面独立完成,动态住宅代理可以作为起点。

日志要能让别人复盘

一个能落地的自动化任务,失败时不应该只留下“403”。至少要能看到目标 URL、最终 URL、国家、代理类型、会话标识、状态码、截图和重试次数。这样开发、运营和代理服务支持人员才能讨论同一个事实。

IP 查询和 Playwright 代理排查工作台,展示当前 IP、目标国家和会话状态
先在同一个上下文里查 IP 把可见 IP、国家、最终 URL 和截图放在同一轮测试里,不要用普通浏览器结果判断 Playwright。
住宅代理和 ISP 代理对比工作台,展示地区覆盖、会话稳定和测试证据
再比较代理类型 同一批 URL 分别跑动态、粘性或 ISP 会话,比较失败模式,而不是只比较套餐参数。
排查字段

截图之外,还要保留这些字段。

只看到 403 没有意义。把上下文补齐,才知道该改地区、会话、频率还是代理类型。

可见 IP最终 URL状态码截图Cookie重试次数