返回顶部
z

ziniao-webdriver-doc

>

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
97
下载量
0
收藏
概述
安装方式
版本历史

ziniao-webdriver-doc

# ziniao-webdriver-doc(紫鸟 WebDriver 文档) ## 何时使用 / 不使用 | 场景 | 做法 | |------|------| | 需要理解紫鸟 WebDriver 是什么、能做什么 | 读本 Skill | | 需要做自动化集成/框架选型的设计决策 | 读本 Skill | | 需要查阅某个接口的请求/响应格式 | 读本 Skill 的 §按需深入 获取路径,再读对应 reference/ 文件 | | 需要查看各语言/框架示例代码 | 不读本 Skill → 直接读 `reference/framework-examples.md` | --- ## Level 0:定位与边界 ### 是什么 紫鸟浏览器 WebDriver 是紫鸟浏览器提供的本地自动化控制接口。通过命令行参数启动紫鸟浏览器进入 WebDriver 模式后,浏览器在本地开启 HTTP 服务,开发者可通过 JSON API 管理店铺窗口,并使用 Selenium / Puppeteer / Playwright / DrissionPage 等框架对接调试端口,实现对店铺浏览器的自动化控制。 ### 能力概览 | 能力域 | 说明 | |--------|------| | 客户端启动控制 | 命令行参数启动/退出紫鸟浏览器进入 WebDriver 模式 | | 认证与登录 | 通过 API 完成设备授权、账号登录、获取店铺列表 | | 店铺窗口管理 | 启动/关闭指定店铺窗口,获取调试端口(debuggingPort) | | 自动化框架对接 | 返回调试端口供 Selenium/Puppeteer/Playwright/DrissionPage 连接 | | 内核管理 | 检测/下载/更新浏览器内核 | | 缓存与会话 | 清理本地/在线缓存、管理 Cookie 策略 | | 插件管理 | 启动店铺时加载指定插件、查询插件安装状态 | ### 不做什么(边界) - 不是通用浏览器自动化方案——仅适用于紫鸟浏览器客户端 - 不提供 WebDriver 驱动本身——需根据返回的 `core_version` 自行下载匹配版本的 ChromeDriver - 不处理电商平台业务逻辑——仅提供浏览器窗口控制能力 - 不提供云端部署——仅支持本地运行(通过 `--listen_ip` 可开放远程控制) --- ## Level 1:架构与流程 ### 核心概念 **WebDriver 模式**:通过 `--run_type=web_driver` 参数启动紫鸟浏览器,使其进入自动化控制模式。此模式下浏览器在本地指定端口开启 HTTP 服务,接受 JSON 格式的 API 调用。启动前必须关闭紫鸟主进程。 **HTTP IPC 通信**:所有 API 均为 POST 请求,JSON 格式,UTF-8 编码。通过 `--port` 参数指定通信端口,地址为 `http://127.0.0.1:{port}`。每个请求需携带 `action` 字段标识操作类型、`requestId` 做全局唯一标识。超时建议 120 秒以上。 **店铺窗口(browserOauth / browserId)**:紫鸟以"店铺"为最小管理单位。调用 `getBrowserList` 获取店铺列表及加密 ID(`browserOauth`),然后通过 `startBrowser` 启动指定店铺窗口,返回 `debuggingPort` 用于自动化框架连接。若直接使用 `getBrowserList` 返回值打开店铺,只需传 `browserOauth`;仅当需要以明文店铺 ID 打开时才赋值 `browserId`。 **内核版本匹配**:`startBrowser` 返回 `core_type`(如 Chromium)和 `core_version`(如 119.1.0.16),开发者必须使用对应大版本号的 ChromeDriver(如 119.x)连接,否则自动化将失败。 ### 流程全景 ```mermaid graph LR A[申请权限] --> B["启动客户端<br>(先清理残留进程)"] B --> C["updateCore<br>检测内核<br>⚠ 需凭据"] C --> D["getBrowserList<br>获取店铺列表<br>⚠ 需凭据"] D --> E["startBrowser<br>启动店铺窗口<br>⚠ 需凭据"] E --> F["下载匹配的<br>ChromeDriver"] F --> G["连接自动化框架<br>Selenium等"] G --> H[执行自动化操作] H --> I["stopBrowser<br>关闭店铺<br>⚠ 需凭据"] I --> J[exit<br>退出客户端] ``` 1. **申请权限**:在紫鸟开放平台开通 WebDriver 权限 2. **启动客户端**:先清理残留进程(见§关键陷阱),再命令行启动紫鸟浏览器,必须参数:`--run_type=web_driver --ipc_type=http --port={端口}` 3. **updateCore**:**必须携带 company/username/password**,轮询检测内核是否就绪(statusCode==0),缺失时自动下载 4. **getBrowserList**:传入 company/username/password,获取店铺列表 5. **startBrowser**:传入 company/username/password + browserOauth,返回 debuggingPort 和 core_version 6. **下载 ChromeDriver**:根据 `core_version` 大版本号下载匹配的 ChromeDriver(**不是系统 Chrome 版本**) 7. **连接框架**:用 `127.0.0.1:{debuggingPort}` + 匹配版本的 ChromeDriver 连接 Selenium 等 8. **关闭**:`stopBrowser`(需凭据)关闭店铺窗口,`exit` 退出客户端 ### 能力摘要表 | 接口 Action | 职责 | 关键输入 | 关键输出 | 需凭据 | |-------------|------|---------|---------|:------:| | updateCore | 检测/下载内核 | **company, username, password** | statusCode, msg(进度) | **是** | | applyAuth | 设备授权 | company, username, password | statusCode | **是** | | getBrowserList | 获取店铺列表 | company, username, password | browserList[{browserOauth, browserName, siteId...}] | **是** | | startBrowser | 启动店铺窗口 | company, username, password, browserOauth/browserId | debuggingPort, core_version, core_type | **是** | | stopBrowser | 关闭店铺窗口 | company, username, password, browserOauth/browserId | statusCode | **是** | | logout | 退出登录 | 无 | statusCode | 否 | | exit | 退出客户端进程 | 无 | statusCode | 否 | | ClearCache | 清理本地缓存 | browserOauths[] | statusCode | 否 | | ClearOnline | 清理在线缓存 | company, username, password, browserOauth, type(1/2/3) | statusCode | **是** | | getPluginInstalled | 查询插件安装状态 | browserId, pluginIds | install_status | 否 | | getRunningInfo | 获取已开启的店铺 | 无 | browsers[] | 否 | ### 关键陷阱 > **以下均为实战中高频踩坑点,务必在编写自动化脚本时严格遵守。** #### 陷阱 1:凭据一致性 所有标记"需凭据"的接口(`updateCore`、`getBrowserList`、`startBrowser`、`stopBrowser`、`ClearOnline`)**每次调用都必须携带完整的 company/username/password**,不只是"登录类"接口。`updateCore` 尤其容易遗漏——它看似只是内核检测,但紫鸟服务端需要凭据验证身份后才返回内核状态。 #### 陷阱 2:错误信息处理 API 返回错误时,**优先读取 `err` 字段的内容来定位问题**,而非仅依赖 `statusCode` 数字。`err` 字段包含具体的中文错误描述,是最有价值的排障信息。 编码注意:`err` 中的中文可能因响应体未正确按 UTF-8 解码而出现乱码,导致无法定位根因。**务必确保 HTTP 客户端以 UTF-8 解码响应体**(Python `requests` 库需设置 `response.encoding = 'utf-8'`,或使用 `response.content.decode('utf-8')`)。 #### 陷阱 3:进程残留清理 紫鸟启动失败或异常退出后,可能残留多个子进程(主进程 + 内核进程),如果不清理就重启会导致端口占用、反复失败。**每次启动前和失败后重试前,必须确保所有紫鸟相关进程已终止。** 清理命令: ```bash # Windows (PowerShell) Get-Process | Where-Object { $_.ProcessName -match 'ziniao|ZiNiao' } | Stop-Process -Force # macOS / Linux pkill -f ziniao || true ``` #### 陷阱 4:ChromeDriver 版本必须匹配紫鸟内核 紫鸟浏览器的内核版本(`core_version`)**与系统安装的 Chrome 浏览器版本无关**。必须根据 `startBrowser` 返回的 `core_version` 提取大版本号(如 `119.1.0.16` → `119`),下载对应版本的 ChromeDriver。 建议策略: 1. 首次获取 `core_version` 后,检查本地缓存目录是否已有该大版本的 ChromeDriver 2. 若无,从 https://googlechromelabs.github.io/chrome-for-testing/ 下载对应版本 3. 缓存到本地目录(如 `./chromedriver_cache/{major_version}/chromedriver`),后续复用 ### 环境约定 | 项目 | 要求 | |------|------| | Windows | 紫鸟 V5 (5.X.X.X) 或 V6 (6.16.0.126+) | | macOS | 紫鸟 V6 (6.15.0.44+) | | Linux | 紫鸟 V6 (6.25.3.3+) | | 通信协议 | HTTP POST, JSON, UTF-8 | | 超时设置 | ≥ 120 秒 | | 启动前提 | 紫鸟主进程必须已完全关闭 | | 推荐框架 | Selenium(Playwright/Puppeteer 会被检测为自动化) | --- ## 按需深入(Level 2 路由表) > **规则:以下内容不要主动加载。** > 仅在你明确需要了解某个细节时,按路由表读取对应的 reference/ 文件。 | 你需要了解 | 读取文件 | |-----------|---------| | 核心工作流接口(applyAuth/getBrowserList/startBrowser) | `reference/api-core.md` | | 辅助管理接口(stopBrowser/logout/exit/缓存/插件/updateCore) | `reference/api-auxiliary.md` | | 启动客户端的命令行参数详细说明 | `reference/startup-params.md` | | 各语言/框架的示例代码与下载链接 | `reference/framework-examples.md` | | 权限开通、账号配置、常见问题排查 | `reference/prerequisites.md` |

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 ziniao-webdriver-doc-1776015739 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 ziniao-webdriver-doc-1776015739 技能

通过命令行安装

skillhub install ziniao-webdriver-doc-1776015739

下载 Zip 包

⬇ 下载 ziniao-webdriver-doc v1.0.0

文件大小: 17.13 KB | 发布时间: 2026-4-13 12:42

v1.0.0 最新 2026-4-13 12:42
ziniao-webdriver-doc 1.0.0 – Initial release

- 介绍用于理解紫鸟浏览器 WebDriver 自动化接口的文档技能。
-涵盖接口范围、架构、关键概念、接口能力和集成工作流程。
-详细介绍常见陷阱,包括身份验证要求、错误处理、流程清理和 ChromeDriver 匹配。
- 包含何时使用该技能的指南,明确界定了其与实际自动化脚本编写的使用界限。
- 包含深入参考的索引以及指向相关协议、API和故障排除细节的链接。

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部