【发布时间】:2022-01-21 06:28:03
【问题描述】:
我有一个页面,其中有很多大图像正在调整大小和移动,我使用 CSS transitions 进行所有这些操作。
当我在浏览器上运行该页面时,一切正常。
过渡有时有点颠簸,但考虑到图像的大小和数量,这是可以理解的,所以我可以忍受。
但是,我现在尝试将 puppeteer(无头)与 puppeteer-screen-recorder 模块结合使用,当我查看生成的视频时,没有任何过渡。
import puppeteer from 'puppeteer'
import { PuppeteerScreenRecorder } from 'puppeteer-screen-recorder'
const defaultViewport = {
width: 1440,
height: 764
}
;(() => {
const browser = await puppeteer.launch({ defaultViewport })
const page = await browser.newPage()
const recorder = new PuppeteerScreenRecorder(page, {
videoFrame: defaultViewport,
aspectRatio: '360:191'
})
async function stop() {
await recorder.stop()
await browser.close()
process.exit(1)
}
await page.setDefaultNavigationTimeout(0)
await page.exposeFunction('onAnimationsDone', async () => {
stop()
})
await page.exposeFunction('onAnimationsStarted', () => {
recorder.start('./client/db/test.mp4')
})
await page.goto('http://localhost:8000/')
})()
这是使用无头木偶的不可避免的限制还是我做错了什么?
【问题讨论】:
-
您怀疑headless模式是罪魁祸首,但是当您通过pptr启动浏览器headful时,过渡是否正确?
puppeteer.launch({ headless: false }).
标签: javascript css node.js puppeteer puppeteer-screen-recorder