વિનંતિ અને પૃષ્ઠ માઇલસ્ટોન પ્રમાણે 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 દ્વારા પણ સ્થિતિ વાંચો.
ધીમા કે નકારેલા સ્રોત, પુનરાવર્તિત પ્રમાણીકરણ કે પછીની રાહની શરત ઓળખવા માટે આ અવલોકનો વાપરો. લાંબો ટાઇમઆઉટ ફક્ત રાહ લંબાવે છે; તે બ્રાઉઝરનું કામ ઘટાડતો નથી કે દરેક સ્રોત જોડાણ સ્વીકારાયું હોવાનું સાબિત કરતો નથી.