使用Puppeter拍摄运行WebGL的页面截图

使用Puppeter拍摄运行WebGL的页面截图,webgl,puppeteer,cesium,Webgl,Puppeteer,Cesium,我试图截取一个运行基于webGL的铯的页面的屏幕截图。如果我只是截图,页面将被加载,但webGL不会完成加载 如果我使用内置的networkidle0或networkidle2,则永远不会拍摄屏幕截图。这是我的密码 这是我正在尝试拍摄的网站: 您的代码是headless:false,还有一个名为--headless的参数,意思是headless:true。木偶演员会感到困惑 除了笑话,以下是我在网络标签上看到的内容。 “网络”选项卡表示,它为每个资源加载至少66个请求,其中至少包含或超过1.5

我试图截取一个运行基于webGL的铯的页面的屏幕截图。如果我只是截图,页面将被加载,但webGL不会完成加载

如果我使用内置的
networkidle0
networkidle2
,则永远不会拍摄屏幕截图。这是我的密码

这是我正在尝试拍摄的网站:


您的代码是
headless:false
,还有一个名为
--headless
的参数,意思是
headless:true
。木偶演员会感到困惑

除了笑话,以下是我在网络标签上看到的内容。

“网络”选项卡表示,它为每个资源加载至少66个请求,其中至少包含或超过
1.5s
(idk为什么在我的默认chrome上加载较慢)

a也是一样,基本上说它加载170多个请求,持续40多秒

默认超时为30秒,但加载数据的时间超过90秒

下面是处理导航超时的参数

await page.goto('https://www.arelplane.com/@arelenglish', {"waitUntil" : "networkidle0", "timeout": 0}); // timeout: 0 will disable navigation timeout
禁用超时或将其增加到120秒或该范围内的某个值。这是我的密码

puppeteer.launch({headless: false}).then(async browser => {
  const page = await browser.newPage();
  await page.goto('https://www.arelplane.com/@arelenglish', {"waitUntil" : "networkidle0", "timeout": 0});
  await page.screenshot({path: "test.png"});
  await browser.close();
});
这是结果,

谢谢!摆脱超时解决了问题!
puppeteer.launch({headless: false}).then(async browser => {
  const page = await browser.newPage();
  await page.goto('https://www.arelplane.com/@arelenglish', {"waitUntil" : "networkidle0", "timeout": 0});
  await page.screenshot({path: "test.png"});
  await browser.close();
});