Python SDK
Python 快速开始
创建 Chromium 和 Moli session,并使用 Playwright 连接 Chromium。
先准备凭证
在 Settings → API Keys 创建 API Key,并复制同一页面的 Project ID。运行代码前,也可以先完成控制台快速入门验证同一条链路。
1. 安装
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade lexmount playwright python-dotenv
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.cn全球服务使用 https://api.lexmount.com。不要把 API Key 提交到源码仓库。
3. 创建并控制 Chromium
from lexmount import Lexmount
from playwright.sync_api import sync_playwright
with Lexmount() as client:
with client.sessions.create(browser_mode="normal") as session:
print("session:", session.id)
print("view:", session.inspect_url)
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(session.connect_url)
context = browser.contexts[0]
page = context.pages[0] if context.pages else context.new_page()
page.goto("https://example.com", wait_until="domcontentloaded")
print("title:", page.title())
browser.close()即使浏览器代码抛出异常,context manager 也会关闭 HTTP client 和 session。
4. 创建 Moli
Moli 是稳定 SDK/API 参数值 light 对应的产品名称:
from lexmount import Lexmount
with Lexmount() as client:
with client.sessions.create(browser_mode="light") as session:
print(session.id)
print(session.inspect_url)Moli 适合轻量 Agent 浏览与内容型任务。Moli 始终关闭持久化回放;需要完整持久化浏览器能力时使用 Chromium。
5. 了解默认行为
| 行为 | 当前默认值 |
|---|---|
| Session 创建方式 | 异步创建,并轮询到 active |
| 等待 active 超时 | 600 秒 |
| 存储下载文件 | 默认开启;可用 downloads={"enabled": False} 关闭 |
| Chromium 持久化回放 | 当前平台默认开启,可显式关闭 |
| Moli 持久化回放 | 始终关闭 |
| 区域 | 优先使用目录默认区域;不可用时回退到配置的 base URL |
不需要产物时应显式关闭:
session = client.sessions.create(
browser_mode="normal",
downloads={"enabled": False},
recording={"persistent": False},
)6. 指定区域
from lexmount import Lexmount
client = Lexmount(region="<region-id>")
print(client.region_info())
print(client.catalog_info())
client.close()如果目录查询或区域 host 探测不可用,SDK 会回退到 LEXMOUNT_BASE_URL。
排查建议
- **鉴权失败:**确认 API Key 和 Project ID 来自同一项目。
- **创建超时:**重试前先查看异常和控制台 session 列表;异步创建可能已经预留 session ID。
- **View 正常但 Playwright 无法连接:**确认 session 仍是 active,并检查当前网络能否访问
session.connect_url。 - **实例没有释放:**使用嵌套 context manager,或在
finally中关闭 session。
继续阅读 Python 核心能力,或运行 Python 示例中的脚本。
Lexmount Browser