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 p=propsOf(t); if(p&&typeof p.onClick==='function'){p.onClick({target:t,currentTarget:t,stopPropagation(){},preventDefault(){},nativeEvent:{},button:0,detail:1});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; }; await eda.dmt_EditorControl.openDocument('7e9415a16a909c51'); await sleep(1600); const out = {}; fire(leaf('设计')); await sleep(900); out.opened = fire(leaf('从原理图导入变更')); await sleep(4000); // 变更行:找所有含 1N257 或 U13 的可见叶子,连同它们的行文本 const rows = new Set(); for (const el of document.querySelectorAll('*')) { if (el.children.length) continue; const t = (el.textContent || '').trim(); if (!t || !/1N257|U13/.test(t)) continue; let r = el; for (let i = 0; i < 6 && r.parentElement; i++) { r = r.parentElement; const x = (r.innerText||'').trim(); if (x.split('\n').length >= 3) { rows.add(x.replace(/\n/g, ' | ')); break; } } } out.changeRows = [...rows].slice(0, 30); // 整个对话框的可见文本量 let dlg = null; for (const el of document.querySelectorAll('div')) { const x = el.innerText || ''; if (/导入前/.test(x) && x.length > 60 && (!dlg || x.length > dlg.length) && x.length < 30000) dlg = x; } out.dlgLines = dlg ? dlg.split('\n').map(s=>s.replace(/\t/g,' | ')).filter(s=>s.trim()).slice(0,60) : null; return out;