跳转到主要内容

Playwright 云浏览器

Playwright 云浏览器,脚本在本地,浏览器在云端。

在 Node.js 应用中维护浏览器逻辑,通过 CDP 连接临时远程会话,完成页面导航、表单操作与结果采集。

01 / 产品介绍

什么是Playwright 云浏览器?

AdsCrawl 通过 Chrome DevTools Protocol(CDP)为 Playwright 提供临时远程浏览器会话。调用 POST /cdp/sessions 创建会话,将返回的 webSocketDebuggerUrl 传给 chromium.connectOverCDP,并在流程结束后显式释放会话。

02 / 适用场景

适合哪些任务?

01

控制完整流程

在页面之间导航、填写表单,并等待需要的元素出现后读取内容。相关操作在同一浏览器会话中执行。

02

分离客户端与浏览器

在 Node.js 服务中运行 Playwright 客户端,由 AdsCrawl 运行远程浏览器。该连接无需在应用服务中启动本地 Chromium 进程。

03

成功失败都释放

在 finally 中调用 DELETE /cdp/sessions/:sessionId,将清理作为任务的一部分,避免页面操作失败后留下运行中的会话。

03 / 快速开始

从一个完整流程开始

  1. 在 Node.js 项目中安装 playwright,并在服务端设置 ADSCRAWL_API_KEY。
  2. 调用 POST /cdp/sessions 创建临时会话。
  3. 通过 chromium.connectOverCDP 连接并执行页面操作。
  4. 调用 DELETE /cdp/sessions/:sessionId 释放会话,发生异常时也要执行。

示例环境:Node.js 与 Playwright(npm install playwright)。 先在服务端设置 ADSCRAWL_API_KEY 环境变量。

完整参数与响应说明 →
Playwright
import { chromium } from "playwright";

const base = "https://api.adscrawl.net";
const headers = {
  "x-api-key": process.env.ADSCRAWL_API_KEY,
  "content-type": "application/json",
};
const res = await fetch(base + "/cdp/sessions", {
  method: "POST", headers,
  body: JSON.stringify({ idleTimeoutMs: 600000 }),
});
if (!res.ok) throw new Error(await res.text());
const session = await res.json();
try {
  const browser = await chromium.connectOverCDP(
    session.cdpBaseUrl
  );
  const page = await browser.contexts()[0].newPage();
  await page.goto("https://www.adscrawl.net");
  console.log(await page.title());
} finally {
  const stopped = await fetch(
    base + "/cdp/sessions/" + session.sessionId,
    { method: "DELETE", headers }
  );
  if (!stopped.ok) throw new Error(await stopped.text());
}

04 / 限制与计费

接入前需要了解

比较套餐与额度 →
  • 该流程通过 CDP 使用 Chromium,不是托管的 Firefox 或 WebKit 端点。
  • 临时 CDP 会话与可复用云浏览器配置的生命周期不同,需要保存配置和交互查看器时选择 Cloud Browser。
  • 调试连接 URL 属于凭据,不要公开,也不要把 API Key 写进浏览器端代码。
  • 会话受账号并发与超时限制,使用返回字段前需检查 API 错误响应。

API Key 仅保存在服务端。遇到 HTTP 402 请检查额度,遇到 429 请降低并发并退避重试。

05 / FAQ

常见问题

这与 Playwright browser-server 协议相同吗?

不同。示例通过 chromium.connectOverCDP 使用 CDP,应遵循文档中的 CDP 会话接口,不能假设它是 Playwright browser-server 端点。

会话会自动保存为云浏览器配置吗?

不会。这是临时会话,可复用云浏览器配置由另一组接口管理。

连接时需要本地安装浏览器吗?

客户端连接的是远程浏览器,不会启动本地浏览器。应用需安装所使用的 Playwright 客户端包。