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-ի միջոցով։

Օգտագործեք դիտարկումները՝ դանդաղ կամ մերժված ռեսուրսը, կրկնվող նույնականացումը կամ ավելի ուշ սպասման պայմանը բացահայտելու համար։ Ավելի երկար ժամանակավոր սահմանաչափը միայն երկարացնում է սպասումը․ այն չի նվազեցնում զննարկիչի աշխատանքը և չի ապացուցում, որ յուրաքանչյուր ռեսուրսային միացում ընդունվել է։

Առնչվող հոդվածներ