gpt4 book ai didi

iframe - 如何使用 headless chrome 获取带有 puppeteer 的 Iframe 的内部 Html?

转载 作者:行者123 更新时间:2023-12-04 16:01:05 26 4
gpt4 key购买 nike

我正在尝试访问 iframe 的 .contentWindow.document(特别是通过 google 在页面上转换的广告)。

如果您通过 chrome 在控制台中执行此操作,它会按预期返回。例如,

var t = document.getElementById('google_ads_iframe_175840252/90-min/Homepage/Index/Top_0').contentWindow.document;

window.onload=t

当使用 headless chrome 通过 puppeteer 执行相同操作时,会返回一个带有 iframe 属性的时髦 Json。例如:

{ title:
{ location:
{ replace: {},
assign: {},
href: 'https://tpc.googlesyndication.com/safeframe/1-0-27/html/container.html',
ancestorOrigins: [Object],
origin: 'https://tpc.googlesyndication.com',
protocol: 'https:',
host: 'tpc.googlesyndication.com',
hostname: 'tpc.googlesyndication.com',
port: '',
pathname: '/safeframe/1-0-27/html/container.html',
search: '',
hash: '',
reload: {},
toString: {} },
closure_lm_292767: null,
'4CGeArbVQ': 100 } }

我是 puppeteer 操纵的新手,任何建议都有帮助,我将在下面包含我的 puppeteer 操纵代码。

const puppeteer = require('puppeteer');
let scrape = async () => {
const browser = await puppeteer.launch({
args: [
'--start-maximized','--disable-web-security',
],
headless: false,
//slowMo: 600,
userDataDir: 'test-profile-dir',

});

const page = await browser.newPage();


try {
await page.setViewport({width: 1920, height: 1080});
await page.setUserAgent('Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.90 Safari/537.36');
await page.goto('https://www.90min.com/');
await page.waitFor(2000);
} catch(error) {
console.error(error);
}



try {
const result = await page.evaluate(() => {
let title = document.getElementById('google_ads_iframe_175840252/90-min/Homepage/Index/Top_0').contentWindow.document;
window.onload= title;
return {
title
}
});


browser.close();
return result;
} catch(error) {
console.error(error);
}
};

scrape().then((value) => {
console.log(value); // Success!
});

最佳答案

找到答案,使用.contentWindow.document.childNodes["0"].innerHTML;在 puppeteer 中将带回多汁的 iframe 内容。

关于iframe - 如何使用 headless chrome 获取带有 puppeteer 的 Iframe 的内部 Html?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50493082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com