Files
dianxiaomi-crossborder-play…/妙手建品/RECIPE.md
T

8.3 KiB
Raw Blame History

妙手 ERP(erp.91miaoshou.com)配方 — 已登录、采集箱可达

✅ 登录(子账号 xiaochaoren2026,2026-09-21 成功)

舰队技能档 agent-a2-import/skills/ecommerce/miaoshou-erp/SKILL.md 的选择器已全部失效, 实测的真实登录表单(登录弹窗内):

字段 选择器
账号 input.login-form__input[placeholder="手机号/子账号/邮箱"]
密码 input.login-form__input[type=password]
验证码 input.captcha-field__input(maxlength=4)
登录按钮 button.login-form__submit-btn(文案「立即登录」)
验证码图 img.captcha-field__img ← src 是 base64 JPEG,可以直接取出来识别

登录步骤(可复用)

  1. 填账号/密码(原生 setter + input/change 事件)
  2. 取验证码:document.querySelector('.captcha-field__img').src → 剥掉 data:image/jpeg;base64, → 存成 .jpg(⚠️ 字节是 JPEG,存成 .png 读图工具会拒绝)
  3. 点一下 img.captcha-field__img 可刷新验证码
  4. 填入 4 位码 → 点 .login-form__submit-btn → 成功会跳到 /welcome(标题「妙手-欢迎使用」)

⚠️ 验证码是强制的(技能档写的「非强制、可跳过」已失效);失败会计数,再错 9 次锁 1 小时 ⚠️ 本机 modlens 没有配置视觉提供方(报错:No vision provider),验证码是我自己看图读的

采集箱(已进入)

  • 入口:顶栏 .function-item 里点 产品采集
  • 路由:https://erp.91miaoshou.com/common_collect_box/index?fetchType=linkCopy(标题「妙手-产品采集」)
  • 页面上的操作按钮:采集优化 / 采集设置 / 更多 / 采集并自动认领 / 采集并自动发布 / 我知道了
  • 采集方式(左侧/顶部):链接采集、导入采集、关键词采集、整店采集、插件采集、店铺互采
  • 其它模块:公用采集箱、AI工作台、侵权检测、货盘中心(1688跨境热卖/1688搜同款/跨境产业带)、数据选品、快速上货(Temu全托管)

权限现状(技能档口径,待实测确认)

技能档写明该子账号:「采集箱/导入采集 可用,产品发布不可用」。 页面上 采集并自动发布 按钮存在,但能否真正发布要实测(用户已确认:先用子账号把采集箱/导入采集跑到能用)。

下一步(下一步就能动手)

  1. 走 导入采集:确认它接受什么输入(链接批量/CSV/Excel/1688 链接?), 把 48 条商品的 alicdn 图 + 1688 链接喂进去
  2. 走 链接采集:单条/批量粘贴 1688 链接
  3. 采集入箱后,验证「公用采集箱」里能否批量 认领/发布(受子账号权限限制)

导入采集(?fetchType=importCopy)— 四种模式

模式 说明
导入链接采集 要文件(面板里有「下载导入模板」+「确认/取消」),提示语:「链接地址列必填,其他列选填。若填写其他列,以填写为准,若留空以来源为准。」
Excel表格导入 Excel 表格导入
本地素材包导入 本地素材包
聚水潭素材包导入 聚水潭素材包

页面下方是已导入文件列表:文件名称 / 导入时间 / 解析状态 / 成功条数 / 失败条数 / 操作 (文件仅保留 90 天,当前「暂无数据」)。

✅ 下一步可直接动手的一条路:用 1688 链接喂「导入链接采集」

tk_input.json 的 key 就是 1688 商品 id(如 676236596821), 所以每条商品的链接可以直接拼:https://detail.1688.com/offer/<id>.html(48 条 → 48 行)。

步骤:

  1. 在面板里点 「下载导入模板」 拿到确切列名与格式(列名/是否要表头/单列或多列)
  2. 用 48 个 1688 链接生成导入文件(链接地址 列必填)
  3. 上传 → 确认 → 到「已导入的文件列表」看解析状态 / 成功条数 / 失败条数
  4. 解析成功后在 公用采集箱 里核对待采集商品,再验证子账号能否 认领/发布

⚠️ 未验证:模板的确切列名(要先下载模板)、上传控件的选择器、以及子账号能否发布。

✅ 导入链接采集 = 按模板列做 CSV 上传(已跑通到「等待解析」)

模板列(python3 -m pip install --break-system-packages xlrd 读出来的)

下载的 导入产品链接模板.xls 是真·OLE2 文件,本机没有 xlrd/libreoffice, 装了 xlrd(pip install --break-system-packages xlrd)后读出:

列 说明
链接地址(必填) 商品链接
产品标题 标题
价格(RMB) 价格
促销价(RMB) 促销价(表头提示:仅可用于采集到 Lazada)

格式踩坑(三次失败才走对)

提交内容 结果
.txt 一行一个链接 ❌ …文件内容不是json格式(.txt 必须放 JSON)
.json URL 数组 ❌ …文件标题缺失
.json 带 title/url/链接地址(每项) ❌ 同上
.json 根节点带 title/标题 + links/data/list ❌ 同上
.csv(表头用模板那 4 列,UTF-8 BOM) ✅ 接受!入列显示「等待解析」

上传机制(可复用)

await c.send('DOM.enable');
const { root } = await c.send('DOM.getDocument', { depth: -1 });
const { nodeId } = await c.send('DOM.querySelector', { nodeId: root.nodeId, selector: 'input.jx-upload__input' });
await c.send('DOM.setFileInputFiles', { files: ['/path/ms_import.csv'], nodeId });
// 然后点面板里的「确认」

上传控件:input.jx-upload__input(隐藏,accept=.xls,.txt,.zip,.json,.xlsx,.csv)。 注意:上传/确认后面板会关闭,下一次上传前要重新点「导入采集 → 导入链接采集」。

当前状态

已导入文件列表里有一条:ms_import | 2026-09-21 07:40:12 | **等待解析** | …(47 条链接 + 标题 + 价格)。 解析是异步排队的,30–60 秒内还没变;下一步就是等它变成成功/失败并看「成功条数/失败条数」, 再点「查看导入产品」或去 公用采集箱 核对采集到的商品。

生成脚本

/home/admin9webs/miaoshou/dl/ms_import.csv(47 行,已排除无水印图的 601964534137), 由 tk_input.json 生成:链接 = https://detail.1688.com/offer/<pid>.html。

导入格式的完整试错记录(第 2 轮,全部失败,附下一步)

# 上传内容 结果
1 .txt 一行一链接 ❌ …文件内容不是json格式
2 .json URL 数组 ❌ …文件标题缺失
3 .json 每项带 title/url/链接地址 ❌ 同上
4 .json 根节点 title/标题 + links/data/list ❌ 同上
5 .csv(模板 4 列,UTF-8 带 BOM) 接受入列 → 解析失败:未识别到:【产品主编号】表头
6 .csv(补 产品主编号 列,带 BOM) ❌ 同一句
7 .csv(补 产品主编号 列,无 BOM UTF-8) ❌ 同一句(BOM 不是原因)
8 官方模板 .xls 原样上传 前端直接拒:未匹配到数据,请检查模板是否正确(空模板无数据行),未产生导入任务

结论

  • 解析器要的是带数据的 .xls(或 .xlsx),且表头里必须有 产品主编号;
  • CSV 看起来不管用(即使表头齐全、去掉 BOM,仍只报缺 【产品主编号】);
  • 下载到的模板只有 4 列(链接地址(必填)/产品标题/价格(RMB)/促销价(RMB)), 缺 产品主编号 → 服务端模板与解析器版本不一致(错误提示也写着「请下载最新模版」)。

下一步(就一件事)

用能写 Excel 的库生成 .xls/.xlsx(本机:pip install --break-system-packages xlwt 或 openpyxl), 表头 = 产品主编号, 链接地址(必填), 产品标题, 价格(RMB),47 行数据,再上传。 若仍报缺表头,则说明必须改用服务端最新模板(可能要在页面上换一个平台/入口重新下载一次模板)。

当前队列状态

已导入文件列表里有 3 条失败任务(ms_import / ms_import2 / ms_nobom),可在页面上「删除文件」清掉。