browserSettings、fingerprint、proxy、cookies、waitFor、field 和 actions,可以让你一致且正确地配置浏览器任务、CDP 会话和云浏览器。
browserSettings
在 CDP 会话和云浏览器之间共享的浏览器配置。省略地区时会使用随机可信代理;如果需要确定性路由,请显式传入 GLOBAL、地区代码或自定义 proxy 对象。
object
浏览器窗口大小。
string
浏览器语言环境,例如
"en-US"。string
IANA 时区标识符,例如
"Asia/Shanghai"。object
注入浏览器的可选地理位置坐标。
object
自定义代理配置。不能与
countryCode 同时使用。请参阅下方的 proxy schema。string
托管代理地区。使用
"GLOBAL" 可自动选择热门地区,或使用两位国家代码(例如 "FR")以优先选择该地区的可信代理并支持动态回退。不能与 proxy 同时使用。string
覆盖默认的 User-Agent 字符串。
"custom" | "random"
设置为
"random" 可让服务器从其库中选择 User-Agent。未提供 User-Agent 的请求默认使用 "random"。"windows" | "macos"
随机 User-Agent 模式使用的操作系统。默认为
"windows"。object
浏览器指纹设置。在 CDP 上下文中省略时,
canvas 和 webGlImage 默认为 "real",其他信号使用一致的随机化配置。请参阅下方的 fingerprint schema。cookies[]
在会话启动前注入浏览器上下文的 Cookie。请参阅下方的
cookies[] schema。示例
fingerprint
控制浏览器指纹信号以降低被检测的风险。每个字段都是可选的。浏览器任务中省略的字段默认使用 "random"。CDP browserSettings 中省略时,canvas 和 webGlImage 设置为 "real",其他信号从一致的随机化配置生成。
示例
proxy
用于路由浏览器流量的自定义代理配置。提供 server URL 形式或拆分形式(protocol + host + port),切勿同时使用两者。
string
完整的代理 URL,例如
"http://host:port" 或 "socks5://host:port"。必须包含显式端口。不能与 host 同时使用。请勿嵌入凭据、路径、查询字符串或片段。"http" | "socks5"
拆分形式的代理协议。
string
拆分形式的代理主机名。不能与
server 同时使用。number | string
拆分形式的代理端口。接受从 1 到 65535 的整数或数字字符串。
string
代理认证用户名。必须与
password 同时提供。string
代理认证密码。必须与
username 同时提供。示例
cookies[]
在导航开始前注入浏览器上下文的 Cookie 数组。每个条目都是一个具有以下字段的对象。
string
必填
Cookie 名称。
string
必填
Cookie 值。
string
必填
目标域名,例如
".example.com"。包含前导点以匹配子域名。string
Cookie 路径。默认为
"/"。boolean
当为
true 时,Cookie 仅通过 HTTPS 发送。boolean
当为
true 时,Cookie 对客户端 JavaScript 不可访问。boolean
当为
true 时,Cookie 绑定到确切主机而非子域名。string
SameSite 属性。可接受的值:
"Strict"、"Lax"、"None"。boolean
当为
true 时,Cookie 随会话过期,没有持久性过期时间。number
以 Unix 时间戳(秒)表示的持久性过期时间。这三个字段名称可以互换使用。
示例
waitFor
指示浏览器在导航后或执行 actions 后暂停,直到页面上出现特定元素或文本。你可以在同一个对象中组合使用 selector 和 text。
string
CSS 选择器。浏览器等待第一个匹配的元素变为可见。
string
文本内容。浏览器等待第一个包含此文本的元素变为可见。
number
最长等待时间,单位为毫秒。默认为
15000。无论提供什么值,都不会超过剩余的任务超时时间。示例
field(SPA 提取字段定义)
定义 POST /spa-extract 请求中要提取的单个字段。DOM 字段读取元素内容;网络字段从拦截到的 JSON 响应中捕获数据。
"dom" | "network"
必填
此字段的数据源。使用
"dom" 从页面 DOM 中读取,或使用 "network" 从网络请求中捕获匹配的 JSON 响应。string
标识目标元素的 CSS 选择器。
source: "dom" 字段必填。"text" | "html" | "attribute"
DOM 读取模式。默认为
"text"。使用 "html" 获取元素内部 HTML,或使用 "attribute" 读取特定属性。string
当
value 为 "attribute" 时要读取的属性名称。例如 "href" 或 "data-id"。string
用于匹配
source: "network" 字段响应 URL 的子字符串。使用最近匹配的响应。string
从匹配的网络响应体中提取值的 JSONPath 表达式。例如
"$.data.metrics[0].value"。boolean
当为
true 时,字段返回所有匹配 DOM 元素的数组,而不仅仅是第一个。"string" | "number" | "integer" | "boolean" | "json"
在返回之前,将提取的原始值强制转换为指定类型。
string
应用于提取值的正则表达式。当模式包含捕获组时,组 1 将作为字段值返回。
boolean
当为
true 时,缺失或不匹配的字段会导致端点返回 422 SPA_REQUIRED_FIELDS_MISSING,而不是返回 null。示例
actions[]
在 POST /spa-extract 中提取开始前执行的有序页面交互数组。每个元素都是一个带有 type 字段的对象,决定执行哪个操作。每个交互步骤的上限为 30 秒。
waitForSelector — 等待元素
waitForSelector — 等待元素
press — 按键
press — 按键
scroll — 滚动页面或元素
scroll — 滚动页面或元素
完整的 actions 示例
cloudBrowser.runtime
云浏览器端点返回的运行时状态对象。它描述了运行中或已停止的浏览器会话的当前生命周期状态。
"neko" | "worker_cdp"
支撑此浏览器会话的运行时类型。
"neko" 提供交互式浏览器并省略 cdpBaseUrl。"worker_cdp" 暴露 CDP 端点并可能包含 cdpBaseUrl。"starting" | "running" | "stopping" | "stopped"
必填
会话的当前生命周期状态。
string
活动会话标识符。在
starting、running 和 stopping 状态下存在。string (RFC3339)
活动会话的过期时间。
string
打开交互式浏览器的直接 URL。仅当
status 为 "running" 且 runtimeKind 为 "neko" 时存在。需要配置文件所有者的登录会话,授权使用会话 Cookie,而非查看者的 usr/pwd URL 参数。string
带有临时令牌的 CDP 基础 URL。仅由
worker_cdp 运行时返回。"starting" 和 "stopping" 状态都计入用户的并发运行配额。"stopping" 会话尚未释放其槽位,请轮询 GET /cloud-browsers/{id} 直到返回 "stopped" 后再假设容量可用。响应示例
Google Trends 结果元数据
成功的google-trends-explore 响应在标准 SPA 结果之外返回的额外顶级字段。这些字段描述结果是从实时浏览器会话收集的,还是从服务器缓存提供的。
"sunbrowser" | "cache"
必填
指示结果是从实时浏览器会话(
"sunbrowser")收集的,还是从服务器端缓存("cache")提供的。boolean
必填
当此响应从缓存提供时为
true。boolean
必填
当缓存结果已过期时为
true。响应已从缓存提供,但数据可能已过时。string (RFC3339Nano)
必填
结果实际收集的时间戳,格式为 RFC3339Nano。
integer
必填
返回结果前进行的收集尝试次数。缓存命中响应始终报告
0。过期响应报告结果报告时已进行的尝试次数。