Node.js SDK
Node.js 快速开始
创建 Chromium 和 Moli session,并使用 Playwright 连接 Chromium。
先准备凭据
在 Settings → API Keys 创建 API Key,并复制对应 Project ID。运行代码前也可以先通过控制台快速开始验证同一流程。
1. 安装
npm install lexmount playwright dotenv
npx playwright install chromium2. 配置凭据
export LEXMOUNT_API_KEY=<your-api-key>
export LEXMOUNT_PROJECT_ID=<your-project-id>
# 可选;默认使用中国区 API
export LEXMOUNT_BASE_URL=https://api.lexmount.cn3. 创建并控制 Chromium
import { chromium } from "playwright";
import { Lexmount } from "lexmount";
const client = new Lexmount();
const session = await client.sessions.create({ browserMode: "normal" });
try {
console.log("session:", session.id);
console.log("view:", session.inspectUrl);
const browser = await chromium.connectOverCDP(session.connectUrl);
const context = browser.contexts()[0];
const page = context?.pages()[0] ?? (await context?.newPage());
if (!page) throw new Error("No page is available");
await page.goto("https://example.com", { waitUntil: "domcontentloaded" });
console.log("title:", await page.title());
await browser.close();
} finally {
await session.close();
client.close();
}务必在 finally 中关闭 session,避免异常后仍有浏览器持续运行。
4. 创建 Moli
Moli 是稳定 SDK/API 值 light 的产品名称:
const session = await client.sessions.create({
browserMode: "light",
enableLightmountLayout: true,
enableLightmountResource: true,
});Moli 适合轻量 Agent 浏览和内容型任务。Moli 始终关闭持久化回放;依赖完整持久化浏览器能力时请使用 Chromium。
5. 了解默认值
| 行为 | 当前默认值 |
|---|---|
| Session 创建路径 | 异步创建并轮询至 active |
| 激活超时 | 600 秒 |
| 存储下载 | 默认开启;可用 downloads: { enabled: false } 关闭 |
| Chromium 持久化回放 | 当前平台默认开启,可显式关闭 |
| Moli 持久化回放 | 始终关闭 |
| 区域 | 优先使用区域目录默认值,否则使用配置的 base URL |
任务不需要产物时请显式关闭:
const session = await client.sessions.create({
browserMode: "normal",
downloads: { enabled: false },
recording: { persistent: false },
});6. 选择区域
const client = new Lexmount({ region: "<region-id>" });
console.log(await client.regionInfo());
console.log(await client.catalogInfo());
client.close();区域目录查询或 host 探测不可用时,SDK 会回退到 LEXMOUNT_BASE_URL。
排查问题
- **鉴权失败:**确认 API Key 与 Project ID 属于同一项目。
- **创建超时:**重试前先检查异常和控制台 session 列表;异步创建可能已经预留 session ID。
- **View 正常但 Playwright 无法连接:**确认 session 仍为 active,且网络可以访问
session.connectUrl。 - **资源未释放:**在
finally中同时关闭浏览器连接和 session。
继续阅读 Node.js 核心能力,或从 Node.js 示例选择可运行脚本。
Lexmount Browser