从阅读 API 文档到用 AI 写出第一个自动化插件
JS浏览器支持两种插件格式,它们运行在不同的引擎中:
| 格式 | 运行引擎 | 语言 | 适用场景 |
|---|---|---|---|
| .zdjs | WebView + JavaScript | JavaScript | 复杂逻辑、HTTP 请求、DOM 操作 |
| .zdp | BeanShell 解释器 | Java 语法 | 简单脚本、直接调用 Java API |
两种插件都可以通过丰富的 API 控制浏览器、操作页面、发送 HTTP 请求、管理脚本执行流程。
核心思路:将 API 文档作为"知识库"上传给 AI,让它学习后根据你的需求编写插件。
打开 DeepSeek 聊天页面
访问 https://chat.deepseek.com 并登录你的账号。
上传 API 文档
点击输入框旁的附件上传按钮,选择刚才下载的 脚本开发API文档.md 文件上传。
在输入框中输入以下提示词:
请仔细阅读这份 API 文档,这是浏览器自动化应用的插件开发文档。
文档包含两种插件格式的 API:
1. .zdjs 格式 - 运行在 WebView 中,使用 JavaScript
2. .zdp 格式 - 运行在 BeanShell 解释器中,使用 Java 语法
请学习并理解所有 API 方法,之后我会让你根据需求编写具体的插件。
确认 AI 已理解
DeepSeek 回复确认理解后,你就可以开始描述需求让它编写插件了。
需求描述(直接发给 DeepSeek):
请根据 API 文档,帮我写一个 .zdjs 插件,实现以下功能:
基于这个文档帮我写一个zdjs插件内容是进入网站baidu.cn搜索 js浏览器
AI 生成的插件代码:
// 百度搜索插件 - baidu_search.zdjs
// 功能:自动在百度搜索指定关键词
async function main(args) {
var keyword = "js浏览器";
var url = "https://www.baidu.com/s?wd=" + encodeURIComponent(keyword);
await zd.goto(url);
zd.setPlugState("已搜索");
ZDJSApi.finish("成功");
}
将插件文件放入设备
将编写好的 .zdjs 或 .zdp 文件通过 USB、QQ 等方式传到手机的存储目录中。
在 JS浏览器中打开插件
| 方法 | 说明 |
|---|---|
await zd.goto(url) | 导航到指定 URL 并等待完成 |
await zd.clickText(text) | 点击页面上的文字并等待完成 |
await zd.runScript(script) | 运行一个脚本并等待结果(返回 Promise) |
await zd.reqGet(url) | GET 请求,返回页面 HTML |
await zd.reqBase64(url) | GET 请求,返回 Base64 编码结果 |
await zd.reqApi(option) | HTTP 请求,返回 JSON 对象 |
zd.getDoc() | 获取页面 DOM(不需要 await) |
zd.setDoc(doc) | 替换页面 HTML |
zd.getUrl() | 获取当前 URL |
zd.getTitle() | 获取当前页面标题 |
zd.getWindowName() | 获取窗口名称 |
zd.setPlugState(str) | 更新状态显示文本 |
zd.getCurrentWindow() | 获取当前窗口句柄 |
zd.getShowingWindow() | 获取可见窗口句柄 |
zd.getWindows() | 获取所有窗口句柄数组 |
ZDJSApi.finish(str) | 结束插件执行 |
ZDJSApi.getHtml() | 获取页面 HTML 源码 |
ZDJSApi.setHtml(html) | 设置页面 HTML |
ZDJSApi.getTitle() | 获取页面标题 |
ZDJSApi.getUrl() | 获取页面 URL |
ZDJSApi.getRunArgsJSON() | 获取运行参数(JSON 数组字符串) |
ZDJSApi.setPlugState(str) | 更新状态文本 |
| 方法 | 说明 |
|---|---|
zdWindow.loadUrl(url) | 加载 URL |
zdWindow.getNowPage().getHtml() | 获取页面 HTML |
zdWindow.getNowPage().getTitle() | 获取页面标题 |
zdWindow.post(url, params) | POST 请求 |
zdWindow.getTitle() | 获取窗口标题 |
zdWindow.getUrl() | 获取当前 URL |
scriptManager.pause() | 暂停执行 |
scriptManager.resume() | 恢复执行 |
scriptManager.stopRunning() | 停止执行 |
scriptManager.add(script) | 添加脚本到列表 |
scriptManager.size() | 获取脚本数量 |
— 教程结束 —