iframe 无法在 puppeteer 中正确加载
Iframe not loading properly in puppeteer
我正在尝试使用 puppeteer 解析网站,一切正常,但 iframe 无法正确加载。
这是它的加载方式
这是我的代码
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
})
当我尝试记录 iframe 时,我在解析的网站上没有得到实际的 iframe link
我在解析的网站中也没有看到 iframe 标签
但是当我查看实际页面时,我可以看到 iframe link
还有 iframe 代码
这是我试图解析的实际页面的link
https://leza.notion.site/Trade-log-721b1ebb4cc74175abb55408b6f2d0c3
任何帮助将不胜感激
它是延迟加载的
尝试四处滚动,然后等待 iframe 加载,然后获取 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);
我正在尝试使用 puppeteer 解析网站,一切正常,但 iframe 无法正确加载。 这是它的加载方式
这是我的代码
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
})
当我尝试记录 iframe 时,我在解析的网站上没有得到实际的 iframe link
我在解析的网站中也没有看到 iframe 标签
但是当我查看实际页面时,我可以看到 iframe link
还有 iframe 代码
这是我试图解析的实际页面的link https://leza.notion.site/Trade-log-721b1ebb4cc74175abb55408b6f2d0c3
任何帮助将不胜感激
它是延迟加载的
尝试四处滚动,然后等待 iframe 加载,然后获取 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);