diff --git a/src/server/frames.ts b/src/server/frames.ts index c9431aa25a..f050e6913a 100644 --- a/src/server/frames.ts +++ b/src/server/frames.ts @@ -1226,7 +1226,7 @@ export class Frame extends SdkObject { return controller.run(async progress => { const rerunnableTask = new RerunnableTask(data, progress, injectedScript => { return injectedScript.evaluateHandle((injected, { info, taskData, callbackText }) => { - const callback = window.eval(callbackText); + const callback = injected.eval(callbackText); return injected.pollRaf((progress, continuePolling) => { const element = injected.querySelector(info.parsed, document, info.strict); if (!element) diff --git a/src/server/injected/injectedScript.ts b/src/server/injected/injectedScript.ts index 3c57570893..165873d570 100644 --- a/src/server/injected/injectedScript.ts +++ b/src/server/injected/injectedScript.ts @@ -89,6 +89,10 @@ export class InjectedScript { this._replaceRafWithTimeout = replaceRafWithTimeout; } + eval(expression: string): any { + return global.eval(expression); + } + parseSelector(selector: string): ParsedSelector { const result = parseSelector(selector); for (const part of result.parts) {