From 77ae3f98e8565912ea21552f14d16236e3e64e96 Mon Sep 17 00:00:00 2001 From: Martijn Dijkhuizen Date: Tue, 27 Aug 2019 09:03:14 +0200 Subject: [PATCH] Ensure configured user agent and/or window size is applied to all pages. Prior only initial page would have configuration applied, new pages/tabs or (incognito) sessions would have default values. --- lib/helper/Puppeteer.js | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/helper/Puppeteer.js b/lib/helper/Puppeteer.js index 1b1ecd095..a54280cef 100644 --- a/lib/helper/Puppeteer.js +++ b/lib/helper/Puppeteer.js @@ -439,16 +439,7 @@ class Puppeteer extends Helper { await this._setPage(mainPage); await this.closeOtherTabs(); - if (this.options.windowSize && this.options.windowSize.indexOf('x') > 0) { - const dimensions = this.options.windowSize.split('x'); - await this.resizeWindow(parseInt(dimensions[0], 10), parseInt(dimensions[1], 10)); - } - this.isRunning = true; - - if (this.options.userAgent) { - await this.page.setUserAgent(this.options.userAgent); - } } async _stopBrowser() { @@ -2299,7 +2290,7 @@ function $XPath(element, selector) { return res; } -function targetCreatedHandler(page) { +async function targetCreatedHandler(page) { if (!page) return; this.withinLocator = null; page.on('load', (frame) => { @@ -2311,4 +2302,14 @@ function targetCreatedHandler(page) { this.debugSection(`Browser:${ucfirst(msg.type())}`, (msg._text || '') + msg.args().join(' ')); consoleLogStore.add(msg); }); + + if (this.options.userAgent) { + await page.setUserAgent(this.options.userAgent); + } + if (this.options.windowSize && this.options.windowSize.indexOf('x') > 0) { + const dimensions = this.options.windowSize.split('x'); + const width = parseInt(dimensions[0], 10); + const height = parseInt(dimensions[1], 10); + await page.setViewport({ width, height }); + } }