Python 示例与参考
按 quickstart 主线解释 Python 示例脚本的用途、运行方式和预期结果。
示例脚本建议按从基础到高级的顺序阅读。先跑通 demo.py,确认 SDK 可以创建 session 并连接远程浏览器;再根据场景选择 View 调试、下载、context、扩展或代理示例。
运行前准备
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# 填入 LEXMOUNT_API_KEY 和 LEXMOUNT_PROJECT_ID.env 常用字段:
LEXMOUNT_API_KEY=sk_...
LEXMOUNT_PROJECT_ID=project_...
LEXMOUNT_BASE_URL=https://api.lexmount.cn推荐阅读顺序
| 顺序 | 示例 | 目的 |
|---|---|---|
| 1 | demo.py | 跑通创建 session、连接浏览器、访问网页的最小闭环 |
| 2 | inspect_url_demo.py | 打开远程 View,边看画面边调试 |
| 3 | session_list.py | 查询项目里当前运行和历史 session |
| 4 | session_downloads.py | 获取远程浏览器下载产物 |
| 5 | context_basic.py | 保存并复用浏览器上下文 |
| 6 | extension_basic.py | 上传并挂载 Chrome 扩展 |
| 7 | proxy_demo.py | 使用自定义代理创建 session |
| 8 | light_demo.py | 了解轻量浏览器模式的内容获取场景 |
demo.py: 最小浏览器闭环
运行:
python3 demo.py它做了什么:
- 初始化
Lexmount(),默认读取环境变量。 - 调用
client.sessions.create()创建一个云端浏览器。 - 使用
session.connect_url通过 Playwright CDP 连接远程浏览器。 - 打开网页、读取标题,并保存截图。
- 关闭浏览器连接和 session。
适合用来确认三件事:API Key 有效、项目额度可用、远程浏览器能被 Playwright 控制。
inspect_url_demo.py: 保留远程画面
运行:
python3 inspect_url_demo.py它会打印 inspect_url,并在你按回车之前保持 session 不关闭。这个示例对应控制台 quickstart 里的 View 步骤,适合排查:
- 页面是否真的在云端浏览器里打开;
- agent 或脚本执行到哪一步;
- 是否需要人工接管复制、粘贴或点击。
session_list.py: 查看项目中的 session
运行:
python3 session_list.py它演示如何查询 session 列表和状态。常见用途:
- 检查是否有未释放的浏览器实例;
- 查看 active / closed session;
- 在调试并发任务时确认实例数量。
session_downloads.py: 取回远程下载文件
运行:
python3 session_downloads.py远程浏览器的下载文件不在本地机器上。这个示例展示完整路径:
- 用 CDP 配置下载目录。
- 在远程页面触发下载。
- 通过 SDK 查询下载列表。
- 下载单个文件或打包归档。
如果你的 agent 任务会生成 PDF、CSV、ZIP 等文件,应重点看这个示例。
context_basic.py: 复用浏览器上下文
运行:
python3 context_basic.pycontext 用来保存浏览器数据,例如 cookie、登录态和本地存储。适合需要跨任务复用状态的场景。
注意:同一个 context 可能被 session 占用。并发任务使用 context 时,需要处理锁定和释放。
extension_basic.py: 上传并挂载扩展
运行:
python3 extension_basic.py它展示:
- 上传扩展 zip;
- 查询扩展列表;
- 创建 session 时通过
extension_ids挂载扩展。
只有在你的自动化任务依赖 Chrome 扩展能力时,才需要接入这一层。
proxy_demo.py: 自定义代理
运行:
python3 proxy_demo.py它展示创建 session 时传入 proxy 配置。适合需要指定上游代理、区域出口或认证代理的任务。
light_demo.py: 轻量浏览器模式
运行:
python3 light_demo.py这个示例用于理解轻量浏览器在内容获取场景下的用法。它不是第一个必跑 demo,建议在 demo.py 和 inspect_url_demo.py 都跑通后再看。
常见排查
认证失败
确认 .env 中有 LEXMOUNT_API_KEY 和 LEXMOUNT_PROJECT_ID,并且 Project ID 与 API Key 属于同一个项目。
Playwright 连接失败
先打印 session.connect_url 和 session.inspect_url。如果 View 能打开但 CDP 连不上,优先检查网络、base URL 和 session 是否已经关闭。
session 没释放
优先使用上下文管理器:
with client.sessions.create() as session:
...这样即使脚本中途异常,SDK 也会尽量释放 session。
Lexmount 文档