I try to scroll the page but the scrolling gets stuck before fetching the data.
const browser = await puppeteer.launch({ headless: false });
const [page] = await browser.pages();
// test url.
await page.goto('https://www.youtube.com/channel/UCVX_4LoUm4mdZBPdpMJkkSQ/videos',
{ waitUntil: 'networkidle2' });
await page.setViewport({
width: 1200,
height: 800
});
await page.evaluate(async () => {
for (var y = 0; y < window.innerHeight; y += 200) {
window.scrollTo(0, y);
}});
async function autoScroll(page){
await page.evaluate(async () => {
await new Promise((resolve, reject) => {
var totalHeight = 0;
var distance = 500;
var timer = setInterval(() => {
var scrollHeight = document.body.scrollHeight;
window.scrollBy(0, distance);
totalHeight += distance;
if(totalHeight >= scrollHeight){
clearInterval(timer);
resolve();
}
}, 100);
});
});
}