Diagnosoi Puppeteer-välityspalvelimen aikakatkaisut pyynnön ja sivun virstanpylvään mukaan
Käytä requestfailed-tapahtumaa verkkoyhteyksien virheisiin ja HTTPResponse-tilaa palvelinvastauksiin ennen kuin syytät välityspalvelinta hitaasta koko sivun siirtymästä.
Nopea curl- tai Axios-vastaus on yleensä yksi resurssi. Puppeteer voi myös noutaa skriptejä, kuvia, kehyksiä ja API-rajapintoja usealta isäntäkoneelta ja odottaa myöhempää sivun virstanpylvästä.
Kun välityspalvelin on jo määritetty olemassa olevalle sivulle, tarkkaile yksittäisiä epäonnistumisia siirtymän aikana:
page.on("requestfailed", request => {
console.log(request.url(), request.failure()?.errorText);
});
await page.goto(targetUrl, {
waitUntil: "domcontentloaded",
timeout: 30000,
});Suorita tämä asynkronisessa työnkulussa oikealla targetUrl-arvolla. Esimerkki odottaa DOMContentLoaded-tapahtumaa, joka tapahtuu aiemmin kuin jokaisen tarvittavan kuvan tai myöhemmän sovellusvastauksen valmistuminen. Vertaa tätä virstanpylvästä siihen, jota alkuperäinen siirtymä odotti: pääasiakirja, DOM, load tai verkon hiljaisuus ovat eri lopputuloksia.
403- tai 500-vastaus ei ole requestfailed-tapahtuma. Lue tila myös HTTPResponse-olion kautta.
Käytä havaintoja hitaan tai hylätyn resurssin, toistuvan todennuksen tai myöhemmän odotusehdon tunnistamiseen. Pidempi aikakatkaisu vain pidentää odotusta; se ei vähennä selaimen työtä eikä osoita, että jokainen resurssiyhteys olisi hyväksytty.