Дијагностицирајте ги тајмаутите на Puppeteer прокси по барање и етапа на страницата
Користете requestfailed за мрежни грешки и HTTPResponse статус за одговори на серверот пред да го обвините проксито за бавно вчитување на целата страница.
Брз одговор од curl или Axios обично е еден ресурс. Puppeteer може да презема и скрипти, слики, рамки и API од повеќе домаќини и да чека подоцнежна етапа на страницата.
Бидејќи проксито е веќе конфигурирано на постојната страница, набљудувајте ги поединечните неуспеси за време на навигацијата:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Извршете го ова во async работниот тек со вистинскиот targetUrl. Примерот чека DOMContentLoaded, што се случува порано од завршувањето на секоја потребна слика или подоцнежен одговор на апликацијата. Споредете ја таа етапа со онаа што ја чекала првичната навигација: главен документ, DOM, load или мрежно мирување се различни исходи.
Одговор 403 или 500 не е настан requestfailed. Читајте го статусот и преку HTTPResponse.
Користете ги набљудувањата за да идентификувате бавен или одбиен ресурс, повторена автентикација или подоцнежен услов за чекање. Подолг тајмаут само го продолжува чекањето; тој не ја намалува работата на прелистувачот и не докажува дека секоја врска со ресурс е прифатена.