3.8 KiB
3.8 KiB
SHEIN 建品配方(已跑通第一条)
完整流程
https://www.dianxiaomi.com/web/sheinProduct/add- 选店铺(按品类分店,见 shein_route.json)
- 选类目:点「选择分类」→ 弹窗
input[placeholder="搜索分类名称"]→ 搜索 → 点.search-result-item - 标题:
sheinAddProductStore.formState.productName - ★ 加第二个规格:点
.theme-select-box里的尺寸(Size)—— 这是之前一直卡住的关键!类目要求颜色+尺寸两个规格,只选颜色不行 - 选规格值:两个
.sku-info-box里各点一个.sku-option(要点里面的label.d-checkbox) - 填 SKU 行:
sheinSkuDataStore.formState.skuDataList[]skcSupplierCode / skcRetailPrice / supplyPrice / stockVariety / weight / length / width / height⚠️ 加第二个规格会重建 SKU 行,之前的填充会丢 —— 必须在规格选完之后再填 - 尺码表:点「编辑尺码表」→ 弹窗内 6 个
placeholder="请输入"的 input → 点「确定」 - 图片:
sheinImgStore.formState.mainImgData.multipleSpuImgs→ 数组 - 保存 →
POST /api/sheinProduct/add.json
关键教训
- 报错
有必选规格未选择的真实含义是:类目定义的规格没选全,不是主规格没值 - 加规格会重置 SKU 行 → 顺序不能错:先规格、后 SKU、再尺码表
- 所有报错都会被
MYJ.message.error吞掉,必须挂钩子才看得到
待批量
- 40 条按品类分到 4 家店(美妆18 / 文具13 / 箱包8 / 内睡袜子1)
- 需要把上述流程写成
shbatch.mjs,逐条跑
批量(已完成:40/40 进待发布,2026-09-20)
node shbatch.mjs(全部)· node shbatch.mjs <pid>(单条)· node shbatch.mjs --dry <pid>(只构建不保存)
- 数据源:
/home/admin9webs/tiktok建品/tk_input.json(48 商品:title/imgs/cost/price_cny) - 路由:
shein_route.json(4 家店 × 每条的类目关键词),sh_done.json记逐条结果,可断点续跑 - 公共库:
sh_lib.mjs(newPage/closePage/wait/installHook/readHook)·sh_build.mjs(各步骤函数)
单条固定顺序(不能换)
选店铺 → 选类目 → 标题 → 加规格(≤3) → 选规格值 → 填 SKU 行 → 尺码表 → 图片 → 填必填属性 → 保存
这次新踩的坑
- 选类目弹窗必须确认关掉:
搜索→ 点.search-result-item(它里面嵌<span class="f-red">, 所以别用children.length===0过滤)→ 若弹窗还在就点「选择/确定」或右上角 ×、按 Esc。 弹窗没关时后面的点击全被挡,最终报的却是别的错(Temu 那边表现为「请上传预览图」)。 - SHEIN 一个产品最多 3 个规格(颜色已占 1 个)→
addSpecs里加满 3 个就停, 否则报「规格最多选择3个,请移除后再添加」。 - 规格要去重:按标签去重,否则会点出「款式/款式」两个同名规格。
- 类目动态必填属性用
.attr-label.required标记(不是.ant-form-item-required):- 下拉型空着 → 选第一项
- 勾选组(如箱包的「特征 Features」,
.checkbox-group-with-search)一个都没勾 → 勾第一个 - 不填只会得到一句「产品信息中有错误,请检查」
- 店铺发品额度:①Shein-武汉九个网-箱包 报「商家无可用的发品额度,暂时无法发布商品」,
把那条改挂 ②Shein-易世通达-箱包(
SHOP_OVERRIDE='②Shein-易世通达-箱包')后成功。 该类目在 ② 店只有「不保温午餐包」,与路由表写的「保温午餐包」不完全一致。
结果
40 条全部「已保存到待发布」(39 条在路由指定店铺 + 1 条改挂 ② 店)。 店小秘 SHEIN 待发布列表核对:共 44 条(含此前手工首条等)。