ਬੇਨਤੀ ਅਤੇ ਪੇਜ ਮਾਈਲਸਟੋਨ ਅਨੁਸਾਰ Puppeteer ਪ੍ਰੌਕਸੀ ਟਾਈਮਆਊਟ ਦੀ ਜਾਂਚ ਕਰੋ
ਨੈੱਟਵਰਕ ਫੇਲ੍ਹਾਂ ਲਈ requestfailed ਅਤੇ ਸਰਵਰ ਜਵਾਬਾਂ ਲਈ HTTPResponse ਸਥਿਤੀ ਵਰਤੋ, ਹੌਲੀ ਪੂਰੀ-ਪੇਜ ਨੈਵੀਗੇਸ਼ਨ ਲਈ ਪ੍ਰੌਕਸੀ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ।
ਤੇਜ਼ 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 ਰਾਹੀਂ ਵੀ ਪੜ੍ਹੋ।
ਹੌਲੀ ਜਾਂ ਰੱਦ ਕੀਤੇ ਸਰੋਤ, ਬਾਰ-ਬਾਰ ਪ੍ਰਮਾਣਿਕਤਾ ਜਾਂ ਬਾਅਦ ਵਾਲੀ ਉਡੀਕ ਸ਼ਰਤ ਪਛਾਣਨ ਲਈ ਇਹ ਨਿਰੀਖਣ ਵਰਤੋ। ਲੰਮਾ ਟਾਈਮਆਊਟ ਸਿਰਫ਼ ਉਡੀਕ ਲੰਬੀ ਕਰਦਾ ਹੈ; ਇਹ ਬ੍ਰਾਊਜ਼ਰ ਦਾ ਕੰਮ ਘਟਾਉਂਦਾ ਨਹੀਂ ਅਤੇ ਹਰ ਸਰੋਤ ਕਨੈਕਸ਼ਨ ਦੇ ਸਵੀਕਾਰ ਹੋਣ ਦਾ ਸਬੂਤ ਨਹੀਂ ਦਿੰਦਾ।