【发布时间】:2022-01-22 01:36:37
【问题描述】:
我正在使用 Puppeteer 在 headful 模式下拍摄全尺寸屏幕截图,因为我大部分时间都需要与浏览器交互。它运行完美,但我注意到一些奇怪的事情:当调用屏幕截图时,它重新加载页面,所以我在捕获中得到的并不总是我在浏览器中看到的。
以this URL 为例。如果我想展示埃菲尔铁塔,我需要点击幻灯片放映。到目前为止没有问题。但是一旦截取屏幕截图,页面就会刷新并回到沙发上女人的初始照片......我不知道是什么导致了这种行为。
这是我的代码:
const puppeteer = require('puppeteer');
args=['--window-size=1920,1080'];
const browser=await puppeteer.launch({ headless: false, defaultViewport: null, args);
const page=(await browser.pages())[0];
await page.goto('https://url.com');
await page.waitForTimeout(10000); // 10 sec timeframe to allow navigation
await page.screenshot({path: 'test.png', quality: 100, fullPage: true});
await browser.close();
我在 Debian 10 Linux 服务器上运行 Puppeteer 的最新版本 (13.1.1)。测试了很多组合、不同的参数、计时器、分辨率等,但无济于事。有什么建议吗?
【问题讨论】: