cdp: use browser target for WS

This commit is contained in:
CanadaHonk 2023-01-08 13:41:48 +00:00
parent 6446325267
commit 85884fe32b
2 changed files with 5 additions and 7 deletions

View File

@ -33,5 +33,5 @@ export default async (browserPath, args, transport, extra) => {
break;
}
return await InjectInto(CDP, proc, transport === 'stdio' ? 'browser' : 'target', extra);
return await InjectInto(CDP, proc, 'browser', extra);
};

View File

@ -69,22 +69,20 @@ export default async ({ pipe: { pipeWrite, pipeRead } = {}, port }) => {
attempt();
});
const targets = await continualTrying(() => new Promise((resolve, reject) => get(`http://127.0.0.1:${port}/json/list`, res => {
const target = await continualTrying(() => new Promise((resolve, reject) => get(`http://127.0.0.1:${port}/json/list`, res => {
let body = '';
res.on('data', chunk => body += chunk.toString());
res.on('end', () => {
try {
resolve(JSON.parse(body))
const targets = JSON.parse(body);
const target = targets.find(x => x.type === 'browser');
return target ? resolve(target) : reject();
} catch {
reject();
}
});
}).on('error', reject)));
console.log();
const target = targets[0];
log('got target', target);
const ws = new WebSocket(target.webSocketDebuggerUrl);