基本上我有下面这段代码
;(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
关于node.js - Puppeteer 视频自动下载而不是显示播放器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47081792/