From 753a954456699fc06adf67837225f306711af856 Mon Sep 17 00:00:00 2001 From: Alex Rudenko Date: Thu, 22 Feb 2024 13:10:59 +0100 Subject: [PATCH] fix: supress viewport errors for pages that do not support changing it (#11970) --- .../src/cdp/EmulationManager.ts | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/packages/puppeteer-core/src/cdp/EmulationManager.ts b/packages/puppeteer-core/src/cdp/EmulationManager.ts index 8598967fe73..823b3b462ea 100644 --- a/packages/puppeteer-core/src/cdp/EmulationManager.ts +++ b/packages/puppeteer-core/src/cdp/EmulationManager.ts @@ -267,13 +267,23 @@ export class EmulationManager { const hasTouch = viewport.hasTouch || false; await Promise.all([ - client.send('Emulation.setDeviceMetricsOverride', { - mobile, - width, - height, - deviceScaleFactor, - screenOrientation, - }), + client + .send('Emulation.setDeviceMetricsOverride', { + mobile, + width, + height, + deviceScaleFactor, + screenOrientation, + }) + .catch(err => { + if ( + err.message.includes('Target does not support metrics override') + ) { + debugError(err); + return; + } + throw err; + }), client.send('Emulation.setTouchEmulationEnabled', { enabled: hasTouch, }),