မြန်ဆန်သော curl သို့မဟုတ် Axios တုံ့ပြန်မှုသည် များသောအားဖြင့် အရင်းအမြစ်တစ်ခုဖြစ်သည်။ Puppeteer သည် ဟိုစ့်များစွာမှ script၊ ပုံ၊ frame နှင့် API များကို ယူနိုင်ပြီး နောက်ပိုင်း စာမျက်နှာ မှတ်တိုင်ကို စောင့်နိုင်သည်။

proxy သည် လက်ရှိစာမျက်နှာတွင် ဖွဲ့စည်းပြီးဖြစ်သောကြောင့် လမ်းညွှန်စဉ် တစ်ခုချင်း ချို့ယွင်းမှုများကို စောင့်ကြည့်ပါ:

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

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

၎င်းကို async အလုပ်စဉ်တွင် တကယ့် targetUrl ဖြင့် လုပ်ဆောင်ပါ။ ဥပမာသည် DOMContentLoaded ကို စောင့်သည်၊ ၎င်းသည် လိုအပ်သော ပုံတိုင်း သို့မဟုတ် နောက်ပိုင်း application တုံ့ပြန်မှု ပြီးဆုံးခြင်းထက် စောသည်။ ထိုမှတ်တိုင်ကို မူလလမ်းညွှန်မှု စောင့်ခဲ့သည့် မှတ်တိုင်နှင့် နှိုင်းယှဉ်ပါ: ပင်မစာရွက်စာတမ်း၊ DOM၊ load သို့မဟုတ် ကွန်ရက်ငြိမ်သက်မှုသည် မတူညီသော ရလဒ်များဖြစ်သည်။

403 သို့မဟုတ် 500 တုံ့ပြန်မှုသည် requestfailed ဖြစ်ရပ် မဟုတ်ပါ။ အခြေအနေကို HTTPResponse ဖြင့်လည်း ဖတ်ပါ။

နှေးကွေးသော သို့မဟုတ် ငြင်းပယ်ခံရသော အရင်းအမြစ်၊ ထပ်ခါတလဲလဲ အတည်ပြုခြင်း သို့မဟုတ် နောက်ပိုင်း စောင့်ဆိုင်းရသည့် အခြေအနေကို ဖော်ထုတ်ရန် ဤလေ့လာတွေ့ရှိချက်များကို အသုံးပြုပါ။ ပိုရှည်သော အချိန်ကုန်ဆုံးမှုသည် စောင့်ဆိုင်းမှုကို ရှည်စေရုံသာ ဖြစ်သည်၊ browser ၏ အလုပ်ကို မလျှော့ချသလို အရင်းအမြစ် ချိတ်ဆက်မှုတိုင်း လက်ခံခဲ့သည်ဟုလည်း သက်သေမပြနိုင်ပါ။

ဆက်စပ်ဆောင်းပါးများ