Playwright 云浏览器:通过 CDP 远程连接
使用 Lexmount 远程 Chromium 会话将 Playwright 放到云端,通过 connectOverCDP 连接、操作网页并安全关闭会话。
Lexmount 云浏览器 API 在云端运行浏览器,Playwright 脚本仍在你的应用中执行。创建 Chromium 会话后,通过 chromium.connectOverCDP 远程连接,使用返回的浏览器上下文操作网页。
本指南适用于浏览器自动化和多步交互。如果只需要从公开 URL 获取结构化正文,可先阅读 Web Fetch 网页提取 API。
安装
以下固定版本示例依赖要求 Node.js 20 或更高版本。
npm install lexmount@0.6.1 playwright@1.63.0按开始使用配置凭据。把完整脚本保存为 example.mjs,执行 node example.mjs,不需要下载本地浏览器。
import { chromium } from 'playwright';
import { Lexmount } from 'lexmount';
const client = new Lexmount();
let session;
let browser;
try {
session = await client.sessions.create({ browserMode: 'normal' });
if (!session.connectUrl) throw new Error('Session has no CDP URL');
browser = await chromium.connectOverCDP(session.connectUrl);
const context = browser.contexts()[0];
if (!context) throw new Error('Default browser context is unavailable');
const page = context.pages()[0] ?? await context.newPage();
await page.goto('https://example.com', { waitUntil: 'domcontentloaded' });
console.log(await page.title());
} finally {
try {
await browser?.close();
} finally {
try {
await session?.close();
} finally {
client.close();
}
}
}预期输出为 Example Domain。脚本连接远端 Chromium,即使导航失败也会关闭会话。返回的连接 URL 应按凭据保护。
Playwright 远程连接常见问题
是否需要安装本地浏览器?
本示例无需下载浏览器:它连接已创建的远程 Chromium 会话,而不是调用 chromium.launch() 启动本地浏览器。先安装示例依赖,并配置 API Key 和 Project ID,再运行脚本。
CDP 连接失败时检查什么?
创建一个新会话,直接使用返回的 connectUrl,不要自行改写。检查项目凭据、地区 API 地址、会话状态和网络连通性,不要把连接 URL 写入公开日志。异常处理与关闭规则见会话生命周期。
Playwright 云端运行如何计费?
远程会话使用项目的浏览器额度和并发容量。在 finally 中关闭会话,可以在成功或失败后释放资源。可在云浏览器价格页比较 Free 方案和当前额度,并阅读计费说明。
