Ошибка, связанная с deviceScaleFactor

Так что просто используя https://try-puppeteer.appspot.com/

Этот код отлично работает:

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('http://demo.spoonthemes.net/themes/couponis/');
await page.setViewport({width: 1280, height: 978, deviceScaleFactor: 1});


await page.screenshot({path: 'example2.jpg'});

await browser.close();

Но если я изменю deviceScaleFactor на 2 (потому что я нахожусь на экране сетчатки), я получаю эту ошибку: Ошибка при запуске вашего кода. Ошибка: ошибка протокола (Page.captureScreenshot): цель закрыта.

Есть идеи, почему? Кажется, работает, если я также изменю URL-адрес на example.com, но не если я попробую другие веб-сайты.


person Charles L    schedule 29.11.2017    source источник


Ответы (1)


Эта ошибка больше не появляется в Puppeteer v1.5.0.

Веб-сайт, к которому вы пытались получить доступ, имел maximum-scale=1 в исходном коде:

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

Следовательно, deviceScaleFactor: 2, похоже, потерпел неудачу из-за этого факта.

person Grant Miller    schedule 23.07.2018