node.js - 访问时 puppeteer 的截图是否被捕获?

标签 node.js screenshot puppeteer

我正在使用 puppeteer 拍摄多个屏幕截图并运行多个线程以加快处理时间,但正在努力寻找保留原始帧顺序的方法。

有两个因素让这个问题变得棘手:

  1. Puppeteer 在截屏 1 完成后立即截取截屏 2,导致截屏之间的间隔不规则。

  2. screenshot2 实际上可以比屏幕截图更快地处理,但我们无法访问此持续时间或捕获屏幕截图的时间戳。

我希望会触发一个事件或通过缓冲区暴露此信息,但除非我错过了一些东西,否则我认为这些不是选项。

有人有什么建议吗?

最佳答案

您可以使用Node.js函数fs.statSync()获取屏幕截图被访问、修改、更改或创建的时间戳。

const fs = require('fs');

let screenshot_path = '/var/www/example.com/public_html/example.png';

await page.screenshot({
  path: screenshot_path,
});

let screenshot_stats = fs.statSync(screenshot_path);

console.log(screenshot_stats.atime); // Access Time
console.log(screenshot_stats.mtime); // Modification Time
console.log(screenshot_stats.ctime); // Change Time
console.log(screenshot_stats.birthtime); // Birth Time

关于node.js - 访问时 puppeteer 的截图是否被捕获?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48547014/

相关文章:

javascript - 在 NodeJS 中使用 CSRF

javascript - Node 无法运行编译 TypeScript

cocoa - 防止应用程序接收击键

javascript - 使用 HTML5/Canvas/JavaScript 在浏览器中截屏

javascript - 如何保存页面对象以供以后使用?

javascript - 如何在 React Native 中显示 blob 图像

javascript - 如何从环回在 Storage api 中发布容器?

android-studio - 如何在 Android Studio 2.4 中截取设备截图

javascript - 在 puppeteer 中获取带有类名的独占类名列表

angular - 此版本的 ChromeDriver 仅支持 Chrome 93 版