与deviceScaleFactor相关的错误

时间:2017-11-29 05:39:04

标签: puppeteer

所以只需使用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似乎也可以工作,但如果我尝试其他网站则不行。

1 个答案:

答案 0 :(得分:1)

此错误从Puppeteer v1.5.0开始不再出现。

您尝试访问的网站的源代码中包含maximum-scale=1

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

因此,deviceScaleFactor: 2似乎由于这一事实而失败。