launcher/eval: better error handling
This commit is contained in:
parent
e6dc593f11
commit
2fca5e7740
@ -35,10 +35,15 @@ export default async (CDP, proc, injectionType = 'browser', { browserName } = {
|
|||||||
name: '_gluonSend'
|
name: '_gluonSend'
|
||||||
}, sessionId);
|
}, sessionId);
|
||||||
|
|
||||||
const evalInWindow = async func => (await CDP.sendMessage(`Runtime.evaluate`, {
|
const evalInWindow = async func => {
|
||||||
|
const reply = await CDP.sendMessage(`Runtime.evaluate`, {
|
||||||
expression: typeof func === 'string' ? func : `(${func.toString()})()`
|
expression: typeof func === 'string' ? func : `(${func.toString()})()`
|
||||||
}, sessionId)).result.value;
|
}, sessionId);
|
||||||
|
|
||||||
|
if (reply.exceptionDetails) return new Error(reply.exceptionDetails.text);
|
||||||
|
|
||||||
|
return reply.result?.value ?? reply;
|
||||||
|
};
|
||||||
|
|
||||||
const [ ipcMessageCallback, injectIPC, IPC ] = await IPCApi({
|
const [ ipcMessageCallback, injectIPC, IPC ] = await IPCApi({
|
||||||
browserName,
|
browserName,
|
||||||
@ -49,7 +54,6 @@ export default async (CDP, proc, injectionType = 'browser', { browserName } = {
|
|||||||
evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId),
|
evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId),
|
||||||
pageLoadPromise: new Promise(res => frameLoadCallback = res)
|
pageLoadPromise: new Promise(res => frameLoadCallback = res)
|
||||||
});
|
});
|
||||||
|
|
||||||
onWindowMessage = ipcMessageCallback;
|
onWindowMessage = ipcMessageCallback;
|
||||||
|
|
||||||
log('finished setup');
|
log('finished setup');
|
||||||
|
Loading…
x
Reference in New Issue
Block a user