1. 程式人生 > >預備JS執行環境,預執行腳本

預備JS執行環境,預執行腳本

turn tps pre urn itl func function () mis

page.evaluateOnNewDocument(pageFunction, ...args)

  • pageFunction <function|string> Function to be evaluated in browser context
  • ...args <...Serializable> Arguments to pass to pageFunction
  • returns: <Promise>

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

.

// overwrite the `languages` property to use a custom getter
Object.defineProperty(navigator, "languages", {
  get: function() {
    return ["en-US", "en", "bn"];
  }
});

// In your puppeteer script, assuming the preload.js file is in same folder of our script
const preloadFile = fs.readFileSync(‘./preload.js‘, ‘utf8‘);
await page.evaluateOnNewDocument(preloadFile);

預備JS執行環境,預執行腳本