evaluateOnNewDocument method
Adds a function which would be invoked in one of the following scenarios:
- whenever the page is navigated
- whenever the child frame is attached or navigated. In this case, the function is invoked in the context of the newly attached frame
The function is invoked after the document was created but before any of
its scripts were run. This is useful to amend the JavaScript environment,
e.g. to seed Math.random
.
An example of overriding the navigator.languages property before the page loads:
// preload.js
// overwrite the `languages` property to use a custom getter
Object.defineProperty(navigator, "languages", {
get: function() {
return ["en-US", "en", "bn"];
}
});
var preloadFile = File('test/assets/preload.js').readAsStringSync();
await page.evaluateOnNewDocument(preloadFile);
Parameters:
pageFunction
Function to be evaluated in browser contextargs
Arguments to pass topageFunction
Implementation
Future<void> evaluateOnNewDocument(String pageFunction,
{List<dynamic>? args}) async {
var source = evaluationString(pageFunction, args);
await devTools.page.addScriptToEvaluateOnNewDocument(source);
}