Files
ObsidianHome/小鱼/.cdp/ws-test.mjs
T
2026-11-05 15:16:24 +08:00

19 lines
1.1 KiB
JavaScript

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);