https://stackoverflow.com/questions/59861486/record-video-from-website-using-puppeteer-ffmpeg
let recordVideo = (setup) => {
    return new Promise(async (resolve, reject) => {
        let frames = [];
        let session;
        let start = async () => {
            session = await page.target().createCDPSession();
            await session.send('Page.startScreencast');
            session.on('Page.screencastFrame', event => {
                event.data; // Base64 encoded frame
                frames.push(event.data);
            });
        }
        let stop = async () => {
            await session.send('Page.stopScreencast');
            resolve(frames);
        }
        await setup(start, stop);
    });
}
let setup = (start, stop) => {
    start();
    /** statements */
    stop();
}
let frames = await recordVideo(setup);
в новых версиях puppteer (уже двано) есть отдельный api