import fs from 'node:fs'; import path from 'node:path'; const UDD = 'C:\\Users\\Administrator\\AppData\\Local\\Google\\Chrome\\User Data'; const lines = fs.readFileSync(path.join(UDD, 'DevToolsActivePort'), 'utf8').split('\n').map(s => s.trim()).filter(Boolean); const url = `ws://127.0.0.1:${lines[0]}${lines[1]}`; console.log('connecting: ' + url); const ws = new WebSocket(url); const t0 = Date.now(); const log = m => console.log(`[+${Date.now() - t0}ms] ${m}`); ws.addEventListener('open', () => log('OPEN')); ws.addEventListener('error', e => log('ERROR ' + (e.message || e.type))); ws.addEventListener('close', e => log('CLOSE code=' + e.code + ' reason=' + e.reason)); ws.addEventListener('message', ev => log('MSG ' + String(ev.data).slice(0, 300))); setTimeout(() => { log('state=' + ws.readyState + ' (0=CONNECTING 1=OPEN 2=CLOSING 3=CLOSED)'); }, 8000); setTimeout(() => { if (ws.readyState === 1) { ws.send(JSON.stringify({ id: 1, method: 'Target.getTargets' })); log('sent getTargets'); } }, 9000); setTimeout(() => { log('done, state=' + ws.readyState); try { ws.close(); } catch {} process.exit(0); }, 15000);