我正在尝试使用Puppeteer的以下语句在URL https://www.kent.co.in/呈现一个网页
const page = await browser.newPage();
const pageResponse = await page.goto(url, {waitUntil: "domcontentloaded"});它工作得很好,但有几个脚本没有加载。例如,如下面的屏幕截图所示,google-translate脚本没有被加载(当它被加载到google-chrome桌面浏览器中)。

我在这里尝试的是检测使用谷歌翻译的URL。但是由于某些原因,特定的google翻译脚本没有加载。这可能是什么原因呢?我错过了什么?
我唯一能检测到的脚本标记是:
[
"https://www.google-analytics.com/plugins/ua/ec.js",
"//www.googleadservices.com/pagead/conversion_async.js",
"https://connect.facebook.net/en_US/fbevents.js",
"https://www.googletagmanager.com/gtm.js?id=GTM-MZ5SGHP",
"//bat.bing.com/bat.js",
"//script.crazyegg.com/pages/scripts/0080/3537.js?438583",
"https://www.google-analytics.com/analytics.js",
"https://a.quora.com/qevents.js",
"https://www.googletagmanager.com/gtag/js?id=AW-787579017",
"https://www.kent.co.in/googleCssJs/jquery.1.12.4.min.js",
"https://www.kent.co.in/bootstrap-3.3.5-dist/js/bootstrap.min.js",
"https://www.kent.co.in/js/lazysizes.min.js"
]可以看出,它无法检测到src设置为translate.googleapis.com的脚本标记
发布于 2020-01-13 17:06:31
你只需要等待足够的时间就可以了。您可以等待具有特定src的脚本标记,如下所示:
const page = await browser.newPage();
await page.goto('https://www.kent.co.in/', {waitUntil: 'networkidle0'});
//scritps with src that starts with https://translate.google.com
await page.waitForSelector('script[src^="https://translate.google.com"]')
const scripts = await page.$$('script[src]');
for (let script of scripts)
console.log(await page.evaluate(el => el.src, script));https://stackoverflow.com/questions/59712356
复制相似问题