कठपुतली ट्यूटोरियल- कठपुतली ट्यूटोरियल 1 और 2 का उत्कृष्ट शिक्षण गाइड

कठपुतली ट्यूटोरियल - कठपुतली अवलोकन

Puppeteer एक ओपन-सोर्सेड जावा फ्रेमवर्क है जिसे नोड-जेएस लाइब्रेरी के साथ विकसित किया गया है। Puppeteer में वेब स्क्रैपिंग टूल के रूप में काम करने की क्षमता है। इसे सेलेनियम वेब ड्राइवर की तरह वेब आधारित अनुप्रयोगों के लिए परीक्षण स्वचालन के रूप में भी इस्तेमाल किया जा सकता है। Puppeteer की लोकप्रियता टेस्ट ऑटोमेशन के लिए तेजी से बढ़ रही है। Puppeteer ट्यूटोरियल के माध्यम से चलने के लिए पूर्व-आवश्यकताएं, कमांड लाइन, जावास्क्रिप्ट, OOPs अवधारणा और HTML DOM संरचना का मूल ज्ञान हैं। पूरा पपेटेचर ट्यूटोरियल उन विषयों में वितरित किया जाता है जो सामग्री के नीचे तालिका में उल्लिखित हैं। 

कठपुतली ट्यूटोरियल

Tosca ट्यूटोरियल # 1: कठपुतली अवलोकन

Tosca ट्यूटोरियल 2 #: कठपुतली पर्यावरण चर

Tosca ट्यूटोरियल 3 #: Puppeteer वेब स्क्रैपिंग और Puppeteer टेस्ट स्वचालन अवलोकन

Tosca ट्यूटोरियल 4 #: कठपुतली स्थापित करें 

कठपुतली ट्यूटोरियल के इस लेख में, हम कठपुतली अवलोकन और कठपुतली पर्यावरण चर के बारे में बताएंगे। 

कठपुतली अवलोकन

Puppeteer एक ओपन-सोर्सेड जावा फ्रेमवर्क है जिसे नोड-जेएस लाइब्रेरी के साथ विकसित किया गया है। Puppeteer उच्च-स्तरीय एप्लिकेशन इंटरफ़ेस (API) की सहायता से devtool प्रोटोकॉल पर Chrome ब्राउज़र को नियंत्रित करने में सक्षम है। Puppeteer हेडफुल और हेडलेस क्रोम ब्राउजर दोनों को नियंत्रित करने में सक्षम है। 

Puppeteer ढांचे को Google द्वारा पेश किया गया है। कार्यक्षमता के अनुसार, यह एक नई अवधारणा नहीं है। लेकिन इससे काम आसान हो जाता है। मौलिक रूप से, यह एक संकुचित पैकेज के माध्यम से गतिविधियों की एक सूची को सारांशित करता है।

कठपुतली ट्यूटोरियल - कठपुतली
कठपुतली ट्यूटोरियल - कठपुतली

कठपुतली काम कैसे करते हैं?

  • कठपुतली नोड जेएस पुस्तकालय का उपयोग करता है।
  • नोड जेएस उच्च स्तरीय एपीआई का उपयोग करने की अनुमति देता है।
  • एपीआई devtool प्रोटोकॉल पर क्रोम ब्राउज़र को नियंत्रित करने में सक्षम हैं।
  • डिफ़ॉल्ट रूप से, Puppeteer बिना सिर वाले क्रोम ब्राउज़रों के साथ काम करता है लेकिन यह हेडफ़्लो क्रोम ब्राउज़र के साथ-साथ डिफ़ॉल्ट कॉन्फ़िगरेशन को बदलकर बातचीत कर सकता है।

क्रोम DevTools प्रोटोकॉल:

Chrome DevTools प्रोटोकॉल का उपयोग करके, Puppeteer जैसे उपकरण क्रोमियम, क्रोम आदि जैसे ब्लिंक-आधारित ब्राउज़रों को इंस्ट्रूमेंट, निरीक्षण, डीबग और प्रोफाइल करने में सक्षम हैं।

यहां, ब्राउज़र के इंस्ट्रूमेंटेशन को कई डोमेन जैसे DOM, डीबगर, नेटवर्क आदि में विभाजित किया गया है। प्रत्येक डोमेन सभी विभिन्न समर्थित कमांड्स और जेनरेट की गई घटनाओं की व्याख्या करता है।

कठपुतली की विशेषताएं:

  • Chrome ब्राउज़र के माध्यम से मैन्युअल प्रक्रिया स्वचालित की जा सकती है।
  • यह किसी भी वेब पेज के स्क्रीनशॉट को कैप्चर कर सकता है और स्क्रीनशॉट की छवि या पीडीएफ फाइल उत्पन्न कर सकता है।
  • Puppeteer का उपयोग करके सर्वर साइड रेंडरिंग का एक सिंगल पेज एप्लिकेशन विकसित किया जा सकता है।
  • यह वेब फॉर्म सबमिशन, यूआई टेस्टिंग, कीबोर्ड इनपुट, आदि को चौकियों से स्वचालित कर सकता है।
  • यह क्रोम ब्राउज़र पर अधिक नियंत्रण प्रदान करता है।
  • डिफ़ॉल्ट हेडलेस मोड बहुत तेज है।
  • यह वेब स्क्रैपिंग का समर्थन करता है।
  • Chrome प्रदर्शन विश्लेषण टूल का उपयोग करके समय प्रदान करने और लोड करने की क्षमता।

कठपुतली बनाम कठपुतली-कोर:

Puppeteer संस्करण v1.7.0 के बाद से, दो पैकेजों के नीचे, प्रत्येक रिलीज़ में उपलब्ध हैं -

  • कठपुतली कोर पैकेज
  • कठपुतली पैकेज

कठपुतली-कोर पैकेज:

कठपुतली-कोर एक जावा-बेस नोड लाइब्रेरी है, जो कि किसी भी ऑपरेशन को करने में सक्षम है जो कि DevTools प्रोटोकॉल का समर्थन करता है। कठपुतली कोर स्थापना के दौरान क्रोमियम डाउनलोड नहीं करता है। एक पुस्तकालय के रूप में, पुप्तेयर-कोर पूरी तरह से अपने प्रोग्रामेटिक इंटरफ़ेस के माध्यम से संचालित होता है। इसके अलावा, Puppeteer-core की विशेषताओं को सभी PUPPETEER_ * env वेरिएबल्स द्वारा अनुकूलित नहीं किया जा सकता है। Puppeteer-core स्थापित करने के लिए मूल कमांड - 

npm install puppeteer-core
# or "yarn add puppeteer-core"

कठपुतली-कोर का उपयोग करते समय, नीचे दिए गए विवरण शामिल होंगे -

const puppeteer = require('puppeteer-core')

Puppeteer-Core का उपयोग कब करें:

  • PuTeteer प्रोजेक्ट को विकसित करने के लिए DevTools प्रोटोकॉल पर मौजूदा क्रोम ब्राउज़र का उपयोग करें जहाँ अतिरिक्त क्रोमियम डाउनलोड की आवश्यकता नहीं है।
  • DevTools प्रोटोकॉल के शीर्ष पर एक और एंड-यूज़र उत्पाद या लाइब्रेरी विकसित करना। उदाहरण के लिए, एक परियोजना कठपुतली-कोर का उपयोग करके एक स्क्रीनशॉट जनरेटर का निर्माण कर सकती है और भंडारण को बचाने के लिए क्रोमियम के बजाय हेडलेस_शेल डाउनलोड करने वाली एक कस्टम सेटअप.जेएस स्क्रिप्ट लिखती है।

कठपुतली पैकेज:

कठपुतली चलानेवाला क्रोम या क्रोमियम ब्राउज़र स्वचालन के लिए एक पूर्ण उत्पाद है। स्थापना के दौरान, यह क्रोमियम के नवीनतम संस्करण को डाउनलोड करता है, और उसके बाद, इसे कठपुतली-कोर द्वारा संचालित किया गया था। एक अंतिम-उपयोगकर्ता उत्पाद के रूप में, पुप्पीटर अपने व्यवहार को अनुकूलित करने के लिए सभी PUPPETEER_ * env चर का समर्थन करता है। Puppeteer स्थापित करने के लिए मूल आदेश - 

npm install puppeteer
# or "yarn add puppeteer"

Puppeteer का उपयोग करते समय, नीचे दिए गए विवरणों को शामिल करें -

puppeteer = require(‘puppeteer’)

कठपुतली और कठपुतली के बीच अंतर:

  • कठपुतली-कोर स्थापना के दौरान क्रोमियम ब्राउज़र को स्वचालित रूप से डाउनलोड नहीं करता है।
  • कठपुतली-कोर सभी PUPPETEER_ * env चर पर विचार नहीं करता है।
  • ज्यादातर प्रोजेक्ट्स में, हम प्यूपेटेर प्रोडक्ट पैकेज का उपयोग कर रहे हैं।

बिना सिर वाला क्रोम:

हेडलेस क्रोम का मतलब है कि प्यूपेटेर क्रोम ब्राउजर के साथ एक बैकग्राउंड एप्लिकेशन के रूप में बातचीत कर रहा है, जिसका मतलब है कि क्रोम यूआई स्क्रीन पर दिखाई नहीं देता है। डिफ़ॉल्ट रूप से, Puppeteer ने हेडलेस क्रोम के रूप में एप्लिकेशन लॉन्च किया। हेडलेस क्रोम लॉन्च करने के लिए कोड नमूना - 

इस उदाहरण में, हम हेडलेस क्रोम खोल रहे हैं, यानी, क्रोम UI दिखाई नहीं देगा। यह हेडप्लेयर.लंच विधि () के रूप में बिना सिर के झंडे को सच मानकर किया जा सकता है।

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

प्रमुख क्रोम:

हेडफुल क्रोम का मतलब है कि पिप्पेचर क्रोम ब्राउजर के साथ बातचीत कर रहा है जिसके लिए स्क्रीन पर क्रोम यूआई दिखाई दे रहा है। डिफ़ॉल्ट रूप से, Puppeteer ने हेडलेस क्रोम के रूप में एप्लिकेशन लॉन्च किया। हेडफुल क्रोम लॉन्च करने के लिए कोड नमूना - 

इस उदाहरण में, हम क्रोम को खोल रहे हैं, जो हमें दिखाई दे रहा है। यह Puppeteer.launch () विधि के रूप में गलत के रूप में बिना सिर के ध्वज को पारित करके किया जा सकता है।

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false});
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

कठपुतली पर्यावरण चर

कठपुतली अपने संचालन का समर्थन करने के लिए पूर्वनिर्धारित पर्यावरण चर के साथ काम करती है। यदि Puppeteer को इंस्टालेशन के दौरान पर्यावरण चर नहीं मिलता है, तो इन वेरिएबल्स के निचले स्तर वाले वेरिएंट का उपयोग npm कॉन्फिगर (NPM कॉन्फिगरेशन फाइल को मैनेज करता है) से किया जाएगा। पर्यावरण वेरिएबल्स को Puppeteer-core पैकेज द्वारा नहीं माना जाता है। सबसे महत्वपूर्ण कठपुतली पर्यावरण चर हैं - 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: यह इंस्टॉलेशन चरण के दौरान बंडल किए गए क्रोमियम को डाउनलोड न करने का निर्देश देता है।
  • PUPPETEER_DOWNLOAD_HOST: यह URL उपसर्ग को अधिलेखित करता है जिसका उपयोग क्रोमियम को डाउनलोड करने के लिए किया जा सकता है। 
  • PUPPETEER_DOWNLOAD_PATH: यह डाउनलोड फ़ोल्डर पथ को अधिलेखित करता है। चूक मार्ग है - " /.लोकोलियम / "जहां" कठपुतली की पैकेज जड़ है।
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: ये चर स्थापना के दौरान क्रोमियम को डाउनलोड करने के लिए प्रॉक्सी सेटिंग्स को परिभाषित करते हैं।
  • PUPPETEER_CHROMIUM_REVISION: यह पुपपीटर द्वारा उपयोग किए जाने वाले क्रोमियम के एक विशिष्ट संस्करण को परिभाषित करता है।
  • PUPPETEER_EXECUTABLE_PATH: यह Puppeteer.launch विधि में उपयोग किए जाने वाले निष्पादन योग्य पथ को निर्दिष्ट करता है। 
  • PUPPETEER_PRODUCT: यह परिभाषित करता है कि Puppeteer द्वारा किस ब्राउज़र का उपयोग किया जाना है। मान या तो क्रोम या फ़ायरफ़ॉक्स होना चाहिए। 

निष्कर्ष:

कठपुतली ट्यूटोरियल पर इस परिचयात्मक लेख में, हमने कठपुतली अवलोकन और कठपुतली पर्यावरण चर के बारे में सीखा है। कठपुतली ट्यूटोरियल के अगले लेख में, हम कठपुतली वेब स्क्रैपिंग और कठपुतली स्वचालन स्वचालन अवलोकन के बारे में जानेंगे। फिर से लॉगिन करने के लिए यहाँ इस Puppeteer ट्यूटोरियल के लिए संदर्भ पोर्टल पर जाएं। इसके अलावा, कृपया क्लिक करें यहाँ लैंबडैगिक्स से सेलेनियम सीखने के लिए।

के मोंडालि के बारे में

नमस्ते, मैं के। मंडल हूं, मैं एक अग्रणी संगठन से जुड़ा हूं। मैं जैसे डोमेन, अनुप्रयोग विकास, स्वचालन परीक्षण, आईटी सलाहकार में काम करने का 12+ वर्ष का अनुभव कर रहा हूं। मुझे विभिन्न तकनीकों को सीखने में बहुत दिलचस्पी है। मैं अपनी आकांक्षा को पूरा करने के लिए यहां हूं और वर्तमान में एक लेखक और वेबसाइट डेवलपर दोनों के रूप में योगदान कर रहा हूं।
लिंक्डइन से जुड़ें- https://www.linkedin.com/in/kumaresh-mondal/

एक टिप्पणी छोड़ दो

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड चिन्हित हैं *

en English
X