const sleep = ms => new Promise(r=>setTimeout(r,ms)); const propsOf = el => { for (const k of Object.keys(el)) if (k.startsWith('__reactProps$')) return el[k]; return null; }; const fire = (el) => { let t = el; for (let i=0;i<8&&t;i++){const q=propsOf(t); if(q&&typeof q.onClick==='function'){q.onClick({target:t,currentTarget:t,stopPropagation(){},preventDefault(){},nativeEvent:{},button:0,detail:1});return true;} t=t.parentElement;} return false; }; const hover = (el) => { let t=el; for(let i=0;i<8&&t;i++){const q=propsOf(t); if(q&&typeof q.onMouseEnter==='function'){q.onMouseEnter({target:t,currentTarget:t}); return true;} t=t.parentElement;} return false; }; const leaf = (txt) => { for (const el of document.querySelectorAll('*')) if (el.children.length===0 && (el.textContent||'').trim()===txt) return el; return null; }; const before = new Set((document.body.innerText||'').split('\n').map(s=>s.trim()).filter(Boolean)); fire(leaf('放置')); await sleep(900); const bf = leaf('板框'); const h = hover(bf); await sleep(900); const now = (document.body.innerText||'').split('\n').map(s=>s.trim()).filter(Boolean); return {hovered:h, items: [...new Set(now.filter(s=>!before.has(s)))].slice(0,60)};