page.goto зависает в облачных функциях Google для некоторых веб-сайтов - PullRequest
1 голос
/ 24 марта 2019

Я использую:

Puppeteer version: 1.13.0
Platform / OS version: Google Cloud
Node.js version: 8

await.page.goto("https://somewebsite.com") зависает при развертывании его в функциях Google Cloud.

Я получаю сообщение об ошибке тайм-аута.Navigation Timeout Exceeded

    const browser = await puppeteer.launch({
      headless: true,
      ignoreHTTPSErrors: true,
      args: [
        '--disable-gpu',
        '--disable-dev-shm-usage',
        '--disable-setuid-sandbox',
        '--no-first-run',
        '--no-sandbox',
        '--no-zygote',
        '--single-process', // <- this one doesn't works in Windows
      ]
    });

    const page = await browser.newPage();

    try {
      await page.goto('https://somewebsite.com',
                      { waitUntil: 'networkidle2' });
    } catch (error) {
      console.log('page.goto ERROR: ', error);
    }

Я вижу, как он работает в разных средах:

  • AWS
  • Локально

Работает длявсе, кроме Облачные функции Google .Однако, если я попытаюсь google.com, это сработает.

Проблема в том, что ошибка вообще не помогает, page.goto просто истекает.

Мне было интересноесли есть правильный способ отладки этого?

Может ли это быть проблемой ОС? , но опять же, AWS и облако Google основаны на Linux?

1 Ответ

1 голос
/ 26 марта 2019

Видимо, есть проблема с синхронизацией в Puppeteer версии 1.13.0. Попробуйте понижение до 1.11.0, и оно должно работать нормально.

На аналогичный вопрос ответили на этот вопрос Stackoverflow . Это указывает на это обсуждение .

...