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

无头浏览器

基于云的无头浏览器,内置自适应安全机制、CAPTCHA 管理和住宅代理。使用代码示例进行测试,并通过高级功能进行自定义。

无头浏览器可让你运行和控制远程实例,用于基于浏览器的自动化、测试和网页抓取,而无需在本地管理它们。它提供内置自适应安全、自动 CAPTCHA 处理、地理位置定位、集成住宅代理、会话录制、粘性会话和持久化配置文件。

支持的库

无头浏览器可与任何支持以下内容的库一起使用 Chrome DevTools Protocol (CDP),包括:

  • Playwright (Python 和 Node.js)

  • Puppeteer (Node.js)

  • 其他兼容 CDP 的自动化框架

连接详情

字段
说明

协议

wss:// (WebSocket Secure)

主机(Chromium)

hb.oxylabs.io

认证

在 URL 中,用户信息—— wss://USERNAME:PASSWORD@host。必须包含用户名后缀 token(例如 user_ab12)。不支持基于 header 的认证。

传输

CDP – chromium.connectOverCDP (Playwright) / puppeteer.connect (Puppeteer)。

域名

oxylabs.io ——用于连接端点(例如 hb.oxylabs.io)、Dashboard(hb.oxylabs.io/dashboard)、以及会话检查(hb.oxylabs.io/novnc).

速率限制

100 并发会话数, 10 每秒会话数。 查看更多.

功能

Oxylabs 无头浏览器包含内置的云原生功能,设计为通过 WebSocket 连接 URL 中的查询参数来使用。

CAPTCHA 处理

自动实时 CAPTCHA 处理和监控(默认:关闭)。

将会话路由到特定国家、州或城市。

设备模拟

模拟特定设备的指纹和视口。

会话检查(VNC)

监控实时无头浏览器会话。

会话录制

以视频格式录制浏览器会话。

持久会话

创建并管理粘性浏览器实例。

持久配置文件

在会话之间保存和恢复 Cookie/localStorage。

参数传递

所有功能都通过在 WebSocket Secure 端点后直接追加查询参数来启用和配置,并使用和号(&).

代码示例

以下是初始化云托管浏览器会话的基本示例:

注意: 示例中仅为可读性使用 USERNAMEPASSWORD 。在实际项目中,请从环境变量加载它们(例如 process.env.OXYLABS_USERNAME / process.env.OXYLABS_PASSWORD)通过一个 .env 文件。

参数参考

参数
说明
类型

p_cc

国家地理定位,采用 ISO 3166-1 alpha-2 2 位字母代码(例如 US, DE).

字符串

p_state

州地理定位,小写(例如 texas)。如果两者同时使用,则覆盖。 p_cc 支持的州列表 支持的州列表.

字符串

p_city

城市地理定位,小写, _ 空格用下划线替代(例如 new_york). p_cc / p_state ,必填。

字符串

p_device

设置设备指纹、视口和用户代理。支持 桌面端 (默认)和 移动端.

字符串

solve_captcha

页面加载时自动实时 CAPTCHA 解决。默认: false.

布尔值

record

录制无头会话视频。默认: false.

布尔值

record_name

为便于查找命名录制(^[a-zA-Z0-9_-]{1,64}$).

字符串

session_name

粘性会话——重新连接到同一个在线远程浏览器(^[A-Za-z0-9-]{3,36}$,支持连字符,不支持下划线)。最大 TTL 为 24 小时。

字符串

keep_alive

在客户端断开连接后仍保持远程浏览器实例在线,设置为 true。默认: false.

布尔值

o_profile

持久化配置文件——保存/恢复 Cookie 和 localStorage 使用命名配置文件(^[A-Za-z0-9_-]{1,36}$).

字符串

o_profile_save

持久化配置文件——在会话期间或结束时强制保存配置文件。默认: false.

布尔值

proxy_resi_ses_id

自定义会话 ID,用于在多个会话间固定住宅出口 IP(^[A-Za-z0-9]{3,36}$).

字符串

proxy_resi_ses_time

以分钟为单位保留已固定的住宅代理出口 IP 的时长。最小 1,最大 1440 (24 小时)。

整数

推荐配置

优化流量

抓取动态页面时,浏览器通常会下载不必要的资源,例如大量媒体、跟踪脚本、图片和字体。这会消耗带宽并降低执行速度。

你可以在这些请求消耗资源之前,通过程序拦截并中止它们:

错误处理和重试

网络抖动和每秒 10 个会话的速率限制意味着单个 connectOverCDP 调用可能会暂时失败。请将连接包装在带指数 重试退避的逻辑中,并为每次尝试设置超时。下面的示例使用标准 Playwright API:

资源清理

即使自动化在中途抛出异常,也要在完成后始终关闭浏览器。使用 try { ... } finally { ... } 块,以便清理在所有路径上运行:

如果在 connect 和 close 之间发生异常且你没有清理,远程会话会保持打开,并占用你的 100 concurrent sessions 之一,直到它被回收。在高负载下泄漏会话会耗尽限制并阻止新的连接。

需要启用某项功能?

某些无头浏览器功能默认受限。要调整限制,请联系 Oxylabs 支持(在线聊天电子邮件)或您的专属客户经理:

  • 更多持久化配置文件 – 提高您账户默认的 5 个已保存配置文件上限。

  • 更多持久化会话 – 提高您账户默认的 5 个并发持久化会话上限。

  • 受限目标 – 通过 KYC 流程解锁更多目标类别。

  • 更高的速率限制 – 提升到超过 100 个并发会话 / 每秒 10 个。

最后更新于

这有帮助吗?