是否有支持 css 3d 的 PhantomJs 替代品

Is there a PhantomJs alternative with css 3d support

我正在尝试使用 NodeJs 录制网页。我正在使用 PhantomJs 截取页面的屏幕截图,并使用 ffmpeg 将它们转换为视频。问题是我正在使用的页面使用 3d 变换 css,而 PhantomJs 不支持 3d 变换 (http://phantomjs.org/supported-web-standards.html),一切看起来都是静态的。 有没有支持 3d 转换的 PhantomJs 的替代品?或者可能采用不同的方法?

不一定是NodeJ,其他语言如Python也可以。

这是我现在使用的代码:

var page = require("webpage").create();
page.viewportSize = { width: 500, height: 860 };

page.open("pageurl", function() {
    // Initial frame
    var frame = 0;
    // Add an interval every 25th second
    setInterval(function() {
      // Render an image with the frame name
      page.render("frames/dragon" + frame++ + ".png", { format: "png" });
      // Exit after 50 images
      if (frame > 100) {
        phantom.exit();
      }
    }, 25);
});

OBS 通过 Chromium Embedded Framework. There is an API for OBS 支持此功能,或者您可以直接使用 CEF。

我使用的另一种方法是 Tab Capture API,通过浏览器扩展。

Phantom JS 不再被维护,所以我建议使用像 puppeteer 这样的东西,它使用无头 chrome 并让你能够做你要求的事情。

您是否尝试过使用 puppeteer。它使用 chrome 及其超快

他们的自述文件中有一个简单的示例代码

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});

  await browser.close();
})();

运行 此处代码:https://try-puppeteer.appspot.com/

还可以在文档 https://github.com/GoogleChrome/puppeteer/blob/v1.15.0/docs/api.md#pagescreenshotoptions

中找到有关 screenshot 命令的更多信息

祝你好运!