Puppeteer में page.screenshot() का उपयोग करके स्क्रीनशॉट कैसे लें?
उत्तर
Puppeteer में स्क्रीनशॉट के लिए page.screenshot() विधि का उपयोग किया जाता है। आप केवल दृश्यमान व्यूपोर्ट के स्क्रीनशॉट ले सकते हैं, fullPage: true के साथ पूर्ण-पृष्ठ अंकन कर सकते हैं, या किसी विशिष्ट DOM तत्व का लक्ष्य बना सकते हैं। यह वेब स्क्रैपिंग, परीक्षण और स्वचालन वर्कफ़्लो में सामान्य रूप से उपयोग किया जाता है।
विस्तृत स्पष्टीकरण
Puppeteer ने हेडलेस क्रोम या क्रोमियम के नियंत्रण के लिए एक उच्च स्तर के API प्रदान किया है, और स्क्रीनशॉट कार्यक्षमता सीधे Page ऑब्जेक्ट में शामिल है। जब एक पृष्ठ दर्शाया जाता है, तो Puppeteer केवल दृश्यमान व्यूपोर्ट को ले सकता है या इससे आगे बढ़कर पूर्ण फ़ॉर्मैट दस्तावेज़ को शामिल कर सकता है। यह डायनामिक या लंबे वेब पृष्ठों के लिए विशेष रूप से उपयोगी है जहां सामग्री असिंक्रोनस रूप से लोड होती है या प्रारंभिक व्यूपोर्ट से परे फैली होती है।
आंतरिक रूप से, स्क्रीनशॉट ब्राउज़र के रेंडरिंग इंजन से उत्पन्न किए जाते हैं। हालांकि, आधुनिक वेबसाइट्स आमतौर पर लेट लोड की छवियां, असीमित स्क्रॉलिंग या जावास्क्रिप्ट द्वारा रेंडर किए गए तत्व शामिल करते हैं। ऐसे मामलों में, स्क्रीनशॉट लेने से पहले पृष्ठ के पूर्ण लोड होने की गारंटी आवश्यक है, अन्यथा यूआई के कुछ हिस्से गायब या खाली हो सकते हैं।
समाधान / विधियां
- व्यूपोर्ट स्क्रीनशॉट:
page.screenshot({ path: 'image.png' })का उपयोग करके केवल पृष्ठ के दृश्यमान भाग को ले सकते हैं। यह तेजी से डिबगिंग या यूआई पुष्टिकरण के लिए उपयोगी है। - पूर्ण-पृष्ठ स्क्रीनशॉट:
fullPage: trueके साथ पूर्ण दस्तावेज़ अंकन को सक्षम करें, जो पृष्ठ के माध्यम से स्क्रॉल करता है और पूरी सामग्री को एक छवि में रेंडर करता है। यह दस्तावेज़ीकरण और भंडारण के लिए आदर्श है। - तत्व-स्तरीय स्क्रीनशॉट (CapSolver-सहायता प्राप्त कार्यप्रणाली):
page.$()याElementHandle.screenshot()के माध्यम से किसी DOM तत्व का चयन करके केवल विशिष्ट यूआई घटकों को ले सकते हैं। सुरक्षा प्रणालियों या CAPTCHA चुनौतियों द्वारा सुरक्षित पृष्ठों पर ऑटोमेटेड स्क्रैपिंग वातावरण में, CapSolver जैसे उपकरणों को स्क्रीनशॉट विश्वसनीय रूप से लेने से पहले पृष्ठ के लिए उपलब्धता सुनिश्चित करने के लिए एकीकृत किया जा सकता है।
सर्वोत्तम अभ्यास / सुझाव
स्थिर परिणाम प्राप्त करने के लिए, हमेशा स्क्रीनशॉट लेने से पहले पृष्ठ की तैयारी सुनिश्चित करें:
waitUntil: 'networkidle2'या समान नेविगेशन वाइट्स का उपयोग करें- लोड करने वाली सामग्री के साथ निपटने के लिए लक्ष्य लेने से पहले स्क्रॉल करें
page.setViewport()के साथ स्थिर व्यूपोर्ट आकार सेट करें- डायनामिक रेंडरिंग देरी या स्क्रिप्ट-भारित पृष्ठों के मामले में पुनः प्रयास करें
👉 संबंधित:
CapSolver [https://dashboard.capsolver.com/dashboard/overview/?utm_source=offcial&utm_medium=faqs&utm_campaign=how-to-take-screenshots-in-puppeteer] पर पंजीकरण करते समय कोड
FAQका उपयोग करें ताकि आपके भुगतान में 5% अतिरिक्त बोनस मिल सके।
CapSolver FAQ - capsolver.com
