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<6&&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 detail = () => { for (const el of document.querySelectorAll('div')) if (String(el.className).indexOf('lc-table-container')===0 && /错误对象/.test(el.innerText||'')) return (el.innerText||'').replace(/\s+/g,' ').split('input::-webkit')[0]; return ''; }; let leaf=null; for (const el of document.querySelectorAll('*')) if (el.children.length===0 && (el.textContent||'').trim()==='连接性错误 (166)') { leaf=el; break; } if(!leaf) return {err:'no leaf'}; fire(leaf); await sleep(2500); const t = detail(); const re = /\(([^)]+)\):\s*([A-Za-z0-9_.]+)/g; const by={}; let m; let n=0; while((m=re.exec(t))){ by[m[1]] = (by[m[1]]||[]); by[m[1]].push(m[2]); n++; } return {rows:n, nets:Object.keys(by).length, by, len:t.length};