Logo of LexmountLexmount 文档
Logo of LexmountLexmount 文档
首页

介绍

文档总览
X (Twitter)

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

推荐阅读顺序

顺序示例目的
1demo.py跑通创建 session、连接浏览器、访问网页的最小闭环
2inspect_url_demo.py打开远程 View,边看画面边调试
3session_list.py查询项目里当前运行和历史 session
4session_downloads.py获取远程浏览器下载产物
5context_basic.py保存并复用浏览器上下文
6extension_basic.py上传并挂载 Chrome 扩展
7proxy_demo.py使用自定义代理创建 session
8light_demo.py了解轻量浏览器模式的内容获取场景

demo.py: 最小浏览器闭环

运行:

python3 demo.py

它做了什么:

  1. 初始化 Lexmount(),默认读取环境变量。
  2. 调用 client.sessions.create() 创建一个云端浏览器。
  3. 使用 session.connect_url 通过 Playwright CDP 连接远程浏览器。
  4. 打开网页、读取标题,并保存截图。
  5. 关闭浏览器连接和 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

远程浏览器的下载文件不在本地机器上。这个示例展示完整路径:

  1. 用 CDP 配置下载目录。
  2. 在远程页面触发下载。
  3. 通过 SDK 查询下载列表。
  4. 下载单个文件或打包归档。

如果你的 agent 任务会生成 PDF、CSV、ZIP 等文件,应重点看这个示例。

context_basic.py: 复用浏览器上下文

运行:

python3 context_basic.py

context 用来保存浏览器数据,例如 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。

目录

运行前准备
推荐阅读顺序
demo.py: 最小浏览器闭环
inspect_url_demo.py: 保留远程画面
session_list.py: 查看项目中的 session
session_downloads.py: 取回远程下载文件
context_basic.py: 复用浏览器上下文
extension_basic.py: 上传并挂载扩展
proxy_demo.py: 自定义代理
light_demo.py: 轻量浏览器模式
常见排查
认证失败
Playwright 连接失败
session 没释放