能做什么
01
复用浏览器代码
继续使用现有自动化库的页面导航、选择器、点击与表单输入功能。
02
会话内保持状态
多步任务复用页面与浏览器上下文,无需每次请求都新建浏览器。
03
检查运行结果
使用浏览器库读取 DOM、保存截图,结束后关闭远程会话。
准备工作
- Node.js 20+
- AdsCrawl 账号和 API Key。
- 在运行客户端的进程环境中设置 ADSCRAWL_API_KEY,不要写入前端代码或提交到代码仓库。
接入方式 01
远程 CDP
通过 chromium.connectOverCDP 连接返回的 cdpBaseUrl。
安装客户端
core 包用于连接远程浏览器,此示例无需下载本地 Chromium。
npm install adscrawl playwright-core设置 API Key
在运行客户端的进程环境中设置 ADSCRAWL_API_KEY,不要写入前端代码或提交到代码仓库。
连接、读取并清理会话
以 Node.js ES 模块运行。示例读取网页标题,并通过 finally 确保导航失败时仍请求关闭会话。
import { chromium } from 'playwright-core'; import AdsCrawl from 'adscrawl'; const client = new AdsCrawl(); const session = await client.cdp.create({ idleTimeoutMs: 600_000, maxSessionMs: 3_600_000, browserSettings: { viewport: { width: 1440, height: 900 } }, }); try { const browser = await chromium.connectOverCDP(session.cdpBaseUrl); const context = browser.contexts()[0] ?? await browser.newContext(); const page = context.pages()[0] ?? await context.newPage(); await page.goto('https://example.com'); console.log(await page.title()); } finally { await client.cdp.close(session.sessionId); }
用量与限制
- 远程 CDP 连接 Chromium,不提供 Firefox 或 WebKit 端点;Playwright 的 CDP 连接与其原生 Playwright 协议也有所区别。
- API 请求和浏览器会话消耗 AdsCrawl 账号积分,安装客户端不会额外赠送调用额度。
- 使用后关闭远程会话。客户端断开连接或关闭查看窗口,不代表服务端会话已经停止。