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

时间:2017-11-02 17:58:30

标签: node.js chromium google-chrome-headless puppeteer

基本上我在下面有这段代码

;(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'})
})()

由于某种原因,当我执行脚本时,chrome会自动开始下载视频,而不是显示播放器。

有什么办法可以阻止这个吗?

1 个答案:

答案 0 :(得分:1)

在撰写此答案时,很遗憾Chromium不支持播放.mp4,了解详情:https://www.chromium.org/audio-video

你怎么能绕过这个行动? 你可以从这里下载最新的chrome dev版本, 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
});

如果没有下载,你会看到它正确加载, enter image description here

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

Puppeteer除了下载媒体文件外,还没有任何好办法处理媒体文件。与.ppt,.doc,.pdf和任何其他类型的文件相同。

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