无法使用 pupeteer 加载 google-translate 脚本标签。我怎么能这样做?
Unable to load google-translate script tag using pupeteer. How could I do this?
我正在尝试使用 Puppeteer
中的以下语句在 URL https://www.kent.co.in/ 呈现网页
const page = await browser.newPage();
const pageResponse = await page.goto(url, {waitUntil: "domcontentloaded"});
它工作得很好,但有几个脚本未加载。例如,如以下屏幕截图所示,google-translate 脚本未加载(在 google-chrome 桌面浏览器中加载)。
我在这里尝试的是检测使用 google 翻译的 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
的脚本标签
您只需要耐心等待即可。您可以像这样等待带有特定 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));
我正在尝试使用 Puppeteer
中的以下语句在 URL https://www.kent.co.in/ 呈现网页const page = await browser.newPage();
const pageResponse = await page.goto(url, {waitUntil: "domcontentloaded"});
它工作得很好,但有几个脚本未加载。例如,如以下屏幕截图所示,google-translate 脚本未加载(在 google-chrome 桌面浏览器中加载)。
我在这里尝试的是检测使用 google 翻译的 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
您只需要耐心等待即可。您可以像这样等待带有特定 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));