Reputation: 382
I am trying to parse a website using puppeteer, everything works well but iframe does not load properly. This is how it loads
Here is my code
args: [
"--no-sandbox",
],
});
const page = await browser.newPage();
await page.setViewport({ width: 1440, height: 600 })
// await waitForFrame(page);
await page.goto(url, {
waitUntil: 'networkidle2',
timeout: 0,
});
await page.evaluate(({ applicationUrl}: any ) => {
// Here i want to evaluate iframes
})
When i try to log iframes, i don't get the actual iframe link on my parsed website
Also i don't see the iframe tag in parsed website
But When i look into the actual page, i can see the iframe link
and also the iframe tag
Here is the link to actual page which i am trying to parse https://leza.notion.site/Trade-log-721b1ebb4cc74175abb55408b6f2d0c3
Any help would be highly appreciated
Upvotes: 2
Views: 3521
Reputation: 8622
it's lazy loaded
try scrolling around and then wait some for iframe to load, and then get the iframe:
await page.goto(url, {
waitUntil: 'networkidle2',
timeout: 0,
});
await page.evaluate(async() => {
const scroll = document.querySelector('.notion-scroller');
scroll.scrollBy(0, 900);
document.querySelector('.notion-video-block').scrollIntoView();
});
// wait some for iframe to load..
await page.waitFor(5000);
const iframeSelector = 'iframe';
const frameHandle = await page.$(iframeSelector);
const src = await page.evaluate(el => el.src, frameHandle);
console.log(src);
Upvotes: 1