Ответ 1
Вы можете использовать timeout: 0
для отключения ошибок timeout, если вы загружаете тяжелую страницу.
Используйте его на своей page.goto
.
await page.goto('url'+tableCell04Val, {waitUntil: 'load', timeout: 0});
Я использую node.js и puppeteer, чтобы получить некоторые данные. Некоторые файлы, которые я открываю, довольно большие... и затем я получаю сообщение об ошибке:
Ошибка:
our error { TimeoutError: Navigation Timeout Exceeded: 30000ms exceeded
at Promise.then (/project/node_modules/puppeteer/lib/NavigatorWatcher.js:74:21)
at <anonymous> name: 'TimeoutError' }
Как я могу игнорировать это или установить более высокий тайм-аут?
Вот мой сценарий:
await page.goto('url'+tableCell04Val, {waitUntil: 'load'});
Вы можете использовать timeout: 0
для отключения ошибок timeout, если вы загружаете тяжелую страницу.
Используйте его на своей page.goto
.
await page.goto('url'+tableCell04Val, {waitUntil: 'load', timeout: 0});
Вы также можете изменить поведение страницы, начиная с версии 1.0.0:
await page.setDefaultNavigationTimeout(0);
Параметр - это время ожидания в миллисекундах.
Рекомендации:https://github.com/GoogleChrome/puppeteer/blob/master/docs/api.md#pagesetdefaultnavigationtimeouttimeout https://pptr.dev/#?product=Puppeteer&version=v1.17.0&show=api-pagesetdefaultnavigationtimeouttimeout
Вы можете установить тайм-аут, как это
await page.goto('url'+tableCell04Val, {waitUntil: 'load', timeout: 10000}).then(() => {
console.log('success')
}).catch((res) => {
console.log('fails', res)
})
В Puppeteer есть два метода для обработки таймаутов:
а) page.setDefaultNavigationTimeout(timeoutInMiliseconds)
Это влияет на функции, связанные с навигацией:
• page.goBack([options])
• page.goForward([options])
• page.goto(url[, options])
• page.reload([options])
• page.setContent(html[, options])
• page.waitForNavigation([options])
б) page.setDefaultTimeout(timeoutInMiliseconds)
Это влияет на все предыдущие функции Navegation плюс все функции Ожидания:
• page.waitFor(selectorOrFunctionOrTimeout[, options[, ...args]])
• page.waitForFunction(pageFunction[, options[, ...args]])
• page.waitForRequest(urlOrPredicate[, options])
• page.waitForResponse(urlOrPredicate[, options])
• page.waitForSelector(selector[, options])
• page.waitForXPath(xpath[, options])
ПРИМЕЧАНИЕ: page.setDefaultNavigationTimeout
имеет приоритет над page.setDefaultTimeout