Files
dianxiaomi-crossborder-play…/temu建品/tmcats.mjs
T
admin9webs f5720ad613 店小秘多平台铺货配方:7 平台建品脚本 + 静默拦截诊断法 + 项目状态
- TikTok/Shopee/速卖通/Walmart 各 46-47 条已在待发布
- Ozon 47 条已建、改价 40/47
- SHEIN 配方跑通第一条;Temu 差「预览图」一步
- 核心产出:MYJ.message.error 钩子诊断法(解开了三个平台的保存静默拦截)
- 含下一轮提示词 NEXT-ROUND-PROMPT.md
2026-09-20 17:29:38 +08:00

20 lines
1.2 KiB
JavaScript

import { attach } from '/tmp/cdp3.mjs';
import fs from 'fs';
const wait = ms => new Promise(z => setTimeout(z, ms));
const c = await attach('/web/temu/add') || await attach('dianxiaomi.com');
const all = new Set();
for (let i=0;i<80;i++){
const got = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop();
if(!dd)return'[]'; return JSON.stringify([...dd.querySelectorAll('.ant-select-item-option')].map(e=>(e.innerText||'').replace(/\\s+/g,' ').trim()).filter(Boolean));})()`);
const arr=JSON.parse(String(got)); const before=all.size; arr.forEach(x=>all.add(x));
const sc = await c.evalJS(`(()=>{const dd=[...document.querySelectorAll('.ant-select-dropdown')].filter(e=>e.offsetParent!==null).pop();
if(!dd)return 0; const rc=dd.querySelector('.rc-virtual-list-holder')||dd; rc.scrollTop=rc.scrollTop+600; return rc.scrollTop;})()`);
await wait(400);
if (all.size===before && i>4 && Number(sc)===0) break;
}
const list=[...all];
fs.writeFileSync('/tmp/temu_cats.json', JSON.stringify(list,null,1));
console.log('Temu 类目数:', list.length);
list.forEach((x,i)=>console.log(` ${String(i).padStart(3)} ${x}`));
process.exit(0);