Время Puppetter истекает при открытии URL - PullRequest
0 голосов
/ 05 июня 2018

Фон

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

page.goto(url).

Пример

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

const browser = await puppeteer.launch({
      args: [
        '--no-sandbox',
        '--disable-setuid-sandbox',
        '--ignore-certificate-errors',
        '--ignore-certificate-errors-spki-list',
        '--user-data-dir']});
    const page = await browser.newPage();
    await page.goto(
      `https://example.com/${template}?data=${JSON.stringify(req.body)}`, {waitUntil: 'networkidle0'}
    );

page.goto (url) работает локально, но не работает при работе на сервере.

Вопрос

Почему на сервере происходит сбой page.goto() и есть ли обходной путь?

1 Ответ

0 голосов
/ 05 июня 2018

page.setDefaultNavigationTimeout ваш выбор

const browser = await puppeteer.launch({
  args: [
    '--no-sandbox',
    '--disable-setuid-sandbox',
    '--ignore-certificate-errors',
    '--ignore-certificate-errors-spki-list',
    '--user-data-dir']});

const page = await browser.newPage();
page.setDefaultNavigationTimeout(3600); // 1 hour
await page.goto(
  `https://example.com/${template}?data=${JSON.stringify(req.body)}`, {waitUntil: 'networkidle2'}
);

ссылка https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagesetdefaultnavigationtimeouttimeout

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...