drissionpage-ai
⚠️ 本项目基于 DrissionPage(作者 g1879)二次开发,在原版基础上新增了 AI 能力。版权归原作者所有,本项目遵循原版 LICENSE(仅限个人学习与非盈利用途,商用需获得 g1879 授权)。
在 DrissionPage 之上提供自然语言驱动的浏览器自动化:
aiLocate(target)— 用自然语言描述定位元素(视觉模型 + 截图)aiTap(target)/aiInput(target, text)/aiTapAt(bbox)— AI 定位后直接操作,支持模型原生坐标点击aiQuery(prompt)/aiAsk(prompt)— 用自然语言从页面提取结构化数据aiAct(prompt, options={'max_turns': 20})— ReAct 循环智能体,自主观察截图、点击、输入,完成多步任务
安装
pip install drissionpage-ai
本包是 DrissionPage 的 AI 插件,会自动安装官方 DrissionPage(>=4.1.1)作为依赖,二者可以共存。import drissionpage_ai 后,DrissionPage 的所有页面对象(ChromiumTab 等)都会获得 agent 属性和 ai* 系列方法;Chromium、ChromiumOptions 等常用类也从本包再导出,一行 import 即可开始。
AI 模型配置
支持任意 OpenAI 兼容端点(OpenAI、DashScope、ARK 等),通过环境变量配置:
export OPENAI_API_KEY="sk-..."
export OPENAI_BASE_URL="https://api.openai.com/v1" # 可选,使用openai兼容格式的api即可,测试火山引擎agent plan,kimi,阿里token plan均可
export OPENAI_MODEL="gpt-4o" # 可选,默认 gpt-4o-mini,建议使用具备视觉能力的模型,测试使用seed 2.1 tubor,kimi k3,qwen3.8max均可
可选调优变量:DP_AI_TIMEOUT(默认 90)、DP_AI_TEMPERATURE(默认 0)、DP_AI_MAX_TOKENS(默认 1200)、DP_AI_DEBUG_DIR(AI 调试截图/日志输出目录;未设置时默认输出到调用脚本所在目录下的 debug_log/ 文件夹,找不到脚本文件时回退到系统临时目录)。开启 debug 后建议把 debug_log/ 加入 .gitignore,避免误提交截图和请求日志。
快速上手
from drissionpage_ai import Chromium # 一个 import 同时拿到 DrissionPage 类并启用 ai* 方法
tab = Chromium().latest_tab
tab.get('https://example.com')
# 自然语言点击:AI 看截图定位并点击
tab.aiAct('点击"登录"按钮,在账号输入框输入 demo_user')
# 或者分步操作
tab.aiInput('账号输入框', 'demo_user')
运行 demo
demos/ 目录里附了几个真实场景 demo(B 站登录、DeepSeek 登录等)。模型配置通过 .env 文件提供:
cp .env.example .env
# 编辑 .env,填入 OPENAI_API_KEY / OPENAI_BASE_URL / OPENAI_MODEL
# (.env.example 注释里有 qwen / kimi / seed 三个平台的参考配置)
python demos/bilibili_login.py
demo 里的 prepare_*_env() 通过 demo_env.py 把 .env 加载为环境变量。.env 已被 gitignore,不会被提交;仓库里的 .env.example 是模板。
DrissionPage 本身的用法见官方文档:https://drissionpage.cn(注意:官方自 4.1 起推荐 Chromium().latest_tab 写法,ChromiumPage/WebPage 将在 5.0 移除,本插件已适配新写法)。
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file drissionpage_ai-0.2.1.tar.gz.
File metadata
- Download URL: drissionpage_ai-0.2.1.tar.gz
- Upload date:
- Size: 40.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f9972771c447302f38210a683a383cc16a0fee5939b4c8f91b3b3f61290a2c0f
|
|
| MD5 |
634d8bcae6c3588956e86f324c3f04c9
|
|
| BLAKE2b-256 |
c60951bf6cd901b79a0e361327efa15d46531b99d78af8ce6c10975e7a63a6dc
|
File details
Details for the file drissionpage_ai-0.2.1-py3-none-any.whl.
File metadata
- Download URL: drissionpage_ai-0.2.1-py3-none-any.whl
- Upload date:
- Size: 43.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0944df8c7cdacb01ce535ec4ddf3202484d3424d30998e90a9395a5c4d869832
|
|
| MD5 |
c28358f8d7715bf4bbd10fa5bd0e5dca
|
|
| BLAKE2b-256 |
38fc685cee06e132093bdbb764a0fe5746f143fb15b53786dcfe141c65ca5522
|