Швидка відповідь 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.

Використовуйте спостереження, щоб виявити повільний або відхилений ресурс, повторну автентифікацію чи пізнішу умову очікування. Довший тайм-аут лише подовжує очікування; він не зменшує роботу браузера і не доводить, що кожне з'єднання з ресурсом було прийнято.

Схожі статті