Puppeteer 视频自动下载而不是显示播放器

Puppeteer video automatically downloading instead of displaying player

基本上我有下面这段代码

;(async () => {
  const browser = await puppeteer.launch({
    args: ['--no-sandbox'],
    headless: false
  })

  const page = await browser.newPage()

  await page.goto('https://www.w3schools.com/html/mov_bbb.mp4', {waitUntil: 'load'})
})()

并且出于某种原因,当我执行脚本时,chromium 只是自动开始下载视频而不是显示播放器。

有什么办法可以避免这种情况吗?

在写这个答案的时候,不幸的是 Chromium 不支持播放 .mp4,了解更多:https://www.chromium.org/audio-video

如何绕过这个动作? 您可以从这里下载最新的 chrome 开发版本, https://www.chromium.org/getting-involved/dev-channel

然后像这样使用 chrome 路径,

const browser = await puppeteer.launch({
    args: ["--no-sandbox"],
    headless: false,
    executablePath: "./chrome-unstable/chrome" // <-- chrome path here
});

您会看到它在不下载的情况下正确加载,

有一个主要缺点,浏览器不知道页面何时加载,是否应该等到整个视频加载完毕?它应该自动播放吗?

Puppeteer 除了下载媒体文件之外,仍然没有任何好的方法来处理媒体文件。 .ppt、.doc、.pdf 和任何其他类型的文件也是如此。

您可以在此处查找其他媒体相关问题:https://github.com/GoogleChrome/puppeteer/issues?utf8=%E2%9C%93&q=is%3Aissue%20mp4