Playwright 遇到 403:按这个顺序排查 IP、会话和页面状态
Playwright403代理配置浏览器自动化
不要一看到 403 就换代理。先确认 Playwright 上下文里的可见 IP、地区、Cookie、最终 URL、截图、状态码和请求节奏。
地区会话状态码截图
Playwright 配好代理后仍然遇到 403,很常见。这个时候最容易犯的错误,是直接换一批代理,或者不断改浏览器参数。这样可能会让问题更乱,因为你不知道到底是地区不对、会话断了、Cookie 缺失、访问太快,还是目标页面本身有策略限制。
更稳的做法是先做一个小范围基准测试。不要拿全量 URL 直接跑,把代表性的 5 到 10 个页面拿出来,每个页面都保存截图、状态码、最终 URL、代理地区和重试次数。
建议排查顺序
- 在 Playwright 的同一个浏览器上下文里打开 IP 查询页,确认可见 IP 和国家。
- 打开目标页面,记录是否跳转、是否出现登录墙、验证码、空白页或地区提示。
- 失败时保存截图,不要只看控制台里的错误文本。
- 确认 Cookie、登录态和会话是否在多次跳转中保持一致。
- 把访问频率降下来,再观察 403 是否减少。
- 最后再比较动态住宅代理、粘性会话或 ISP 代理的成功率。
什么时候需要稳定会话
如果页面需要连续浏览、登录状态、购物车、筛选条件或地区偏好,频繁轮换可能会制造新问题。此时更适合粘性会话或静态 ISP 代理。相反,如果只是检查大量公开页面,且每个页面独立完成,动态住宅代理可以作为起点。
日志要能让别人复盘
一个能落地的自动化任务,失败时不应该只留下“403”。至少要能看到目标 URL、最终 URL、国家、代理类型、会话标识、状态码、截图和重试次数。这样开发、运营和代理服务支持人员才能讨论同一个事实。
排查字段
截图之外,还要保留这些字段。
只看到 403 没有意义。把上下文补齐,才知道该改地区、会话、频率还是代理类型。
可见 IP最终 URL状态码截图Cookie重试次数