Кукольник зависает в режиме без головы

Мой скрипт Puppeteer работает в безголовом режиме, и время ожидания истекло.

Я не совсем уверен, что происходит не так. Сценарий работает нормально локально, но когда я работаю в режиме без головы, время ожидания всегда истекает.

Я читал в Интернете, что может быть связано с тем, что скрипт не может загрузить внешний источник javascript? Кто-нибудь еще сталкивался с этой проблемой и мог бы помочь?

Вот моя функция настройки для моего экземпляра Puppeteer:

 setUpPuppeteer: async () => {
    const headless = process.env.NODE_ENV === "production";
    const browser = await pupeteer.launch({
      headless,
      devtools: true,
      args: ['--no-sandbox' ]
    });
    const context = await browser.createIncognitoBrowserContext();
    const page = await context.newPage(); // Create new instance of puppet

    page.on('error', err => {
      logger.error('Puppeteer error.', err);
    });

    page.setDefaultNavigationTimeout(10000);

    if (process.env.NODE_ENV === 'production') {
      await page.setRequestInterception(true); // Optimize (no stylesheets, images)...
      page.on('request', request => {
        if (['image', 'stylesheet'].includes(request.resourceType())) {
          request.abort();
        } else {
          request.continue();
        }
      });
    }

    return {browser: context, page};
  },

person Harrison Cramer    schedule 25.01.2020    source источник
comment
если devtools истинно, опция headless будет установлена ​​на false. установите для инструментов разработчика значение false и попробуйте еще раз.   -  person mbit    schedule 26.01.2020


Ответы (1)


person    schedule
comment
Ответы, состоящие только из кода, считаются низкокачественными: обязательно объясните, что делает ваш код и как он решает проблему. Если вы добавите больше информации в свой пост, это поможет как спрашивающему, так и будущим читателям. См. Объяснение полностью основанных на коде ответов - person Calos; 06.04.2020
comment
Спасибо. ваши аргументы действительно помогли мне. У меня был сценарий, который отлично работал в Windows10 и OSX, но не работал в Linux. Я не мог этого понять. Он просто продолжал висеть там, где в противном случае работал бы плавно. но после того, как я добавил ваши аргументы, это сработало! Так что спасибо тебе! - person AndiAna; 11.04.2020
comment
devtools: true автоматически устанавливает headless в false. Это, конечно, не то, что хотели видеть ОП или люди, попавшие на эту страницу. - person George; 28.09.2020