Бърз отговор от curl или Axios обикновено е един ресурс. Puppeteer може също да извлича скриптове, изображения, рамки и API от няколко хоста и да изчаква по-късен етап на страницата.

След като проксито вече е настроено на съществуващата страница, наблюдавайте отделните неуспехи по време на навигацията:

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

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

Изпълнете това в асинхронния работен поток с реалния targetUrl. Примерът изчаква DOMContentLoaded, което е по-рано от завършването на всяко нужно изображение или по-късен отговор на приложението. Сравнете този етап с този, който първоначалната навигация е чакала: основен документ, DOM, load или мрежово затишие са различни резултати.

Отговор 403 или 500 не е събитие requestfailed. Четете статуса и чрез HTTPResponse.

Използвайте наблюденията, за да откриете бавен или отказан ресурс, повторна автентикация или по-късно условие за изчакване. По-дългият таймаут само удължава изчакването; той нито намалява работата на браузъра, нито доказва, че всяка връзка с ресурс е приета.

Подобни статии