Rýchla odpoveď curl alebo Axios je zvyčajne jeden zdroj. Puppeteer môže načítať aj skripty, obrázky, rámce a API z viacerých hostiteľov a čakať na neskoršiu fázu stránky.

Keďže proxy je už nastavené na existujúcej stránke, sledujte jednotlivé zlyhania počas navigácie:

page.on("requestfailed", request => {
  console.log(request.url(), request.failure()?.errorText);
});

await page.goto(targetUrl, {
  waitUntil: "domcontentloaded",
  timeout: 30000,
});

Spustite to v asynchrónnom pracovnom postupe so skutočnou targetUrl. Príklad čaká na DOMContentLoaded, čo je skôr než dokončenie každého potrebného obrázka alebo neskoršej odpovede aplikácie. Porovnajte túto fázu s tou, na ktorú čakala pôvodná navigácia: hlavný dokument, DOM, load alebo sieťový pokoj sú rôzne výsledky.

Odpoveď 403 alebo 500 nie je udalosť requestfailed. Čítajte stav aj cez HTTPResponse.

Z pozorovaní určte pomalý alebo odmietnutý zdroj, opakovanú autentifikáciu alebo neskoršiu čakaciu podmienku. Dlhší časový limit iba predlžuje čakanie; neznižuje prácu prehliadača ani nedokazuje, že každé pripojenie k zdroju bolo prijaté.

Súvisiace články