Files
Toolbox/dev_test_scripts/debug/debug_cdp_probe_only.js
T
yangxiangyuan 4016636153 feat(oss-browser-link): 实现一键注册+自动定位补丁功能
1. 新增oss-browser自动定位包装层脚本与注册批处理
2. 优化粘贴行为:焦点在输入框时交给浏览器默认粘贴
3. 新增一批调试与构建辅助脚本
4. 更新oss-browser下载页说明与步骤
2026-08-12 13:29:11 +08:00

28 lines
1.2 KiB
JavaScript

// 仅连接 CDP 读取 __trae_dbg(配合手动启动的带调试端口实例)
const sleep = ms => new Promise(r => setTimeout(r, ms))
;(async () => {
let page = null
for (let i = 0; i < 20 && !page; i++) {
await sleep(1000)
try {
const list = await (await fetch('http://127.0.0.1:9222/json')).json()
page = (list || []).find(t => t.type === 'page' && /index\.html/.test(t.url || ''))
} catch {}
}
if (!page) { console.log('no page target'); process.exit(1) }
const ws = new WebSocket(page.webSocketDebuggerUrl)
await new Promise((res, rej) => { ws.onopen = res; ws.onerror = rej })
for (let i = 0; i < 10; i++) {
await sleep(2000)
const r = await new Promise(resolve => {
const id = 777 + i
const onMsg = ev => { const m = JSON.parse(ev.data); if (m.id === id) { ws.removeEventListener('message', onMsg); resolve(m.result) } }
ws.addEventListener('message', onMsg)
ws.send(JSON.stringify({ id, method: 'Runtime.evaluate', params: { expression: 'JSON.stringify({dbg: window.__trae_dbg || null, hasNg: !!window.angular, url: location.href})', returnByValue: true } }))
})
console.log(`t+${(i + 1) * 2}s`, r.result && r.result.value)
}
ws.close()
process.exit(0)
})()