Bright Data - Browser 技能用于把用户已经写好的浏览器自动化迁移到 Bright Data 云端浏览器上运行,而不是重新构建自动化。它面向已经拥有 Playwright、Puppeteer、Selenium 或其他驱动的用户,处理本地浏览器被拦截(unblock)或希望上云运行的需求。
用途与核心思路 该技能不改变用户的自动化逻辑,只替换启动代码:本地启动调用改为针对远端 WebSocket 的连接调用,端点格式为 wss://brd-customer-<CUSTOMER_ID>-zone-<ZONE>:<PASSWORD>@brd.superproxy.io:9222。Selenium 是例外,因为它使用 WebDriver 协议而非 CDP,因此改用 9515 端口的 https 连接,凭据相同。选择器、等待、导航、截图和页面逻辑均保持原样。替换后会运行一次以验证能否连接成功。
使用方式与关键步骤
- 确认由谁“点击”:用户自己的代码(Playwright/Puppeteer/Selenium)、用户的计算机使用模型、由终端逐步驱动 bdata browser 子命令(open、snapshot、click <ref>、type <ref>、close),或是交给 Scraper Studio。仅当请求提到框架、技术或智能体但未说明由谁驱动浏览器时,才需要询问一次。
- 查找区域:先执行 bdata zones --json,按 type 为 browser_api 的条目取名称,用于连接串中的 <ZONE>。这是免费读取,不启动会话。若 bdata 命令无法识别,说明 CLI 未安装或 npm 全局目录不在 PATH,需参考 agent-onboarding 技能的安装部分。
- 填充凭据:代理自行用免费的 API 读取和用户已有的 BRIGHTDATA_API_KEY(或 CLI 存储的登录)填入三部分,不给用户留占位符。若完全没有密钥,说明用户未完成设置,应转交 agent-onboarding,不要在对话中索要密钥。
- 验证连接:运行一次确认可以连通。
区域创建与账户边界 若没有任何 browser_api 类型条目,在征得用户同意(会改动账户)后,可调用一次免费接口 POST https://api.brightdata.com/zone 创建 cli_browser 区域。bdata browser open 也能按需创建,但会启动计费会话,且默认使用 cli_browser 名称;若账户已有其他名称的浏览器区域,需通过 --zone <name> 或 BRIGHTDATA_BROWSER_ZONE 传入,否则会创建第二个区域(使用 agent 注册密钥时无法创建并会失败,此时应传 --zone agent_browser_api)。在已登录的机器上不要执行 bdata login,因为它会替换已存储的密钥。若创建被 kyc_required、business_account_required 或权限原因拒绝,应转交 agent-onboarding,由用户在控制面板创建区域。
限制与注意事项 通过 Browser API 输入密码登录站点默认被阻止,需要 KYC 加合规例外;审批通过前不得承诺登录流程,也不要反复重试被阻止的操作。深度细节见 agent-onboarding 技能中的 references/auth.md。构建抓取器应交给 scrape;单页获取 markdown、HTML 或截图应交给 fetch;从搜索查询开始的任务应交给 search——本技能仅适用于已存在的驱动。避免以下错误:向已有可用驱动代码的用户推荐 Scraper Studio;重写其自动化而非只改端点行;把 Selenium 指向 9222 或把 Playwright 指向 9515;打印、记录或提交含密码的完整连接串,或不脱敏地输出连接错误;在终端运行 bdata zones info <zone>(会打印区域密码);给用户留下待填变量或索要密钥;不查看具体代码就重试 407;在未实际被拒前就让用户进行 KYC;硬编码或猜测区域名而非按类型查找;未经询问就创建区域。
适用场景 适合已有可运行自动化代码、但本地浏览器被拦截或需要云端执行环境的用户。若用户只想要数据结果而不关心由什么驱动浏览器,则应使用 scrape、fetch 或 search 等更合适的技能。