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-аар ч уншаарай.

Ажиглалтыг ашиглан удаан эсвэл татгалзсан нөөц, давтан баталгаажуулалт эсвэл дараагийн хүлээх нөхцөлийг тодорхойл. Илүү урт таймаут зөвхөн хүлээлтийг уртасгана; энэ нь хөтчийн ажлыг багасгахгүй бөгөөд нөөцийн холболт бүр хүлээн авсан гэдгийг батлахгүй.

Холбоотой нийтлэлүүд