import { newPage, closePage, wait } from './sh_lib.mjs'; import { SAN as S } from '/tmp/cdp3.mjs'; const c = await newPage('https://www.dianxiaomi.com/web/sheinProduct/offline'); await wait(13000); const o = await c.evalJS(`(()=>{ const body=(document.body.innerText||'').replace(/\\s+/g,' '); const m=body.match(/共\\s*\\d+\\s*条/); const rows=[...document.querySelectorAll('.vxe-body--row')].slice(0,3).map(r=>(r.innerText||'').replace(/\\s+/g,' ').trim().slice(0,110)); const shops=[...new Set([...document.querySelectorAll('.vxe-body--row')].map(r=>{const m=(r.innerText||'').match(/[①-⑳][^\\s]{2,20}/); return m?m[0]:''}).filter(Boolean))]; return JSON.stringify({total:m?m[0]:'', rows, shops});})()`); console.log(S(String(o)).slice(0,900)); try{ await c.shot('/tmp/shein_offline.jpg'); console.log('shot ok'); }catch(e){ console.log('shot fail'); } await closePage(c); process.exit(0);