Невозможно загрузить тег сценария Google-translate с помощью pupeteer. Как я мог это сделать? - PullRequest
1 голос
/ 13 января 2020

Я пытаюсь отобразить веб-страницу по URL-адресу https://www.kent.co.in/, используя следующий оператор с Puppeteer

const page = await browser.newPage();
const pageResponse = await page.goto(url, {waitUntil: "domcontentloaded"});

Он работает просто отлично, но несколько скриптов не загружены. Например, как показано на следующем снимке экрана, скрипт google-translate не загружается (в то время как он загружается в google-chrome браузер рабочего стола).

enter image description here

Я пытаюсь найти URL-адреса, которые используют Google Translate. Но по какой-то причине определенные скрипты гугл-перевода не загружаются. Что может быть причиной этого? Что мне не хватает?

Единственные теги сценариев, которые я могу обнаружить:

[
 "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"
]

и, как можно видеть, не удалось обнаружить тег сценария с sr c, установленным как translate.googleapis.com

1 Ответ

1 голос
/ 13 января 2020

Вам просто нужно достаточно подождать. Вы можете дождаться тега сценария с конкретным sr c, например:

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));
...