अंदाज़ा लगाओ? माइक्रोसॉफ्ट ने घड़ी की कल की तरह का एक नया संस्करण जारी किया! बग फिक्स और एपीआई परिवर्तनों के साथ बने रहना एक पूर्णकालिक कार्य की तरह महसूस हो सकता है, और अच्छी सुविधाओं को खोना एक छोटी सी बात है। लेकिन चिंता न करें; हमें आपकी सहायता मिल गई है! नाटककार नवीनतम नाटककार अपडेट के माध्यम से यात्रा पर हमारे साथ जुड़ें। हम यहां आपकी जानकारी में बने रहने, कुछ नई तरकीबें अपनाने और अपने शानदार कौशल से अपने सहकर्मियों को आश्चर्यचकित करने में मदद करने के लिए हैं! गोता लगाने के लिए तैयार हैं? चल दर! नाटककार नवीनतम अपडेट (v1.04) यदि आप कुछ अद्भुत उदाहरणों के माध्यम से नवीनतम नाटककार अपडेट को प्रत्यक्ष रूप से देखने के लिए उत्सुक हैं, तो पर जाएं और मासिक "नाटककार में नया क्या है" वीडियो देखें: नाटककार यूट्यूब चैनल https://www.youtube.com/watch?v=mn892dV81_8&embedable=true नाटककार में पेश की गई नवीनतम सुविधाओं का पता लगाने और यह देखने का समय आ गया है कि उनसे अधिकतम लाभ कैसे उठाया जाए 🔍 नए एपीआई फ़ील्ड को के ऑब्जेक्ट तर्क में जोड़ा गया। वह विधि पर स्थित लगातार स्टोरेज का उपयोग करके एक ब्राउज़र लॉन्च करती है और ब्राउज़र संदर्भ उदाहरण लौटाती है। `एक ऑब्जेक्ट है जिसमें फ़ायरफ़ॉक्स उपयोगकर्ता प्राथमिकताएँ शामिल हैं जैसा कि में निर्दिष्ट है। FirefoxUserPrefs browserType.launchPersistentContext(userDataDir, options) options userDataDir firefoxUserPrefs about:config फ़ील्ड को , , और विधियों के ऑब्जेक्ट तर्क में जोड़ा गया है। एक स्ट्रिंग है जिसमें कॉल के परिणामस्वरूप बाधित सभी ऑपरेशनों द्वारा रिपोर्ट किया गया त्रुटि संदेश होता है। reason page.close(options) browserContext.close(options) browser.close(options) options reason close() जबकि विशेष रूप से कस्टम कॉन्फ़िगरेशन की आवश्यकता वाले फ़ायरफ़ॉक्स उपयोगकर्ताओं को पूरा करता है, फ़ील्ड बहुत अधिक सामान्य उद्देश्य है। इसे नीचे दिए गए स्निपेट के अनुसार उपयोग करें: firefoxUserPrefs reason await browser.close({ reason: "Scraping process completed!" }) द्वारा बाधित सभी लंबित ऑपरेशन अब "स्क्रैपिंग प्रक्रिया पूरी हो गई!" संदेश के साथ एक जावास्क्रिप्ट त्रुटि फेंक देंगे। browser.close() इस सुविधा का उपयोग कैसे करें? कल्पना करें कि आपका लक्ष्य पृष्ठ एक महत्वपूर्ण कार्य के बीच में है - मान लीजिए, कुछ डेटा पुनर्प्राप्त होने की प्रतीक्षा कर रहा है। अचानक, एक अप्रत्याशित त्रुटि सामने आती है, और आपको ब्राउज़र को शालीनतापूर्वक बंद करने की आवश्यकता का सामना करना पड़ता है। बिना , आप इस बारे में अनभिज्ञ रह जाएंगे कि चल रहे कार्य के लिए संसाधन जारी किए गए हैं या नहीं और ऑपरेशन क्यों बाधित हुआ था। यह नहीं जानना कि क्या हो रहा है, बुरा है, खासकर जब आपको स्वचालित वेब स्क्रैपिंग स्क्रिप्ट के लॉग में त्रुटि के कारण का निरीक्षण करने का काम सौंपा जाता है। यहीं पर `कारण' फ़ील्ड आपकी सहायता के लिए आती है, जिससे आपको श्रमसाध्य जांच के दिन बच जाते हैं। reason बहुत बढ़िया, यह एपीआई परिचय डिबगिंग को बहुत आसान बना देता है! 🚀 टेस्ट जेनरेटर टूल के लिए नई कार्यक्षमता , जिसे आपके ब्राउज़र में कार्रवाई करते समय स्वचालित रूप से परीक्षण बनाने के लिए डिज़ाइन किया गया था, अब निम्नलिखित बटन प्रदान करता है: प्लेराइट टेस्ट जेनरेटर टूल : एक निर्देश उत्पन्न करके सत्यापित करें कि चयनित तत्व दृश्यमान है। दृश्यता सुनिश्चित करें expect(locator).toBeVisible() : सुनिश्चित करें कि चयनित HTML तत्व में एक निर्देश के माध्यम से विशिष्ट टेक्स्ट शामिल है टेक्स्ट सम्मिलित करें expect(locator).toContainText() : अपने परीक्षण में एक निर्देश जोड़कर जांचें कि चयनित तत्व का एक विशेष मान है। Assert value expect(locator).toHaveValue() : आप एक जटिल कार्य पर काम कर रहे हैं, जैसे कि । मान लें कि आपको यह सुनिश्चित करने की ज़रूरत है कि पृष्ठ पर कुछ तत्व दृश्यमान हैं और उनमें विशिष्ट पाठ या मान शामिल हैं। इसमें कुछ जटिल तर्क शामिल होंगे 👎। लेकिन रुकिए-इस ताजा अपडेट के लिए धन्यवाद, यह सब टेस्ट जेनरेटर टूल में कुछ क्लिकों तक सीमित हो जाता है! इसे चित्रित करें एक गतिशील वेब पेज के लिए वेब स्क्रैपर बनाना निम्नलिखित GIF में इस नई सुविधा को कार्यशील देखें: वह टेस्ट जेनरेटर इंटरैक्शन आपके लिए निम्नलिखित टाइपस्क्रिप्ट परीक्षण तैयार करेगा: import { test, expect } from '@playwright/test'; test('test', async ({ page }) => { await page.goto('https://playwright.dev/'); await expect(page.getByRole('banner')).toContainText('Get started'); }); ✨ बहुत जादुई है, है ना? ✨ अद्यतन ब्राउज़र संस्करण प्लेराइट के प्रमुख अपडेट की भव्य परंपरा में, समर्थित ब्राउज़रों की लाइनअप को नए संस्करणों के साथ अपडेट किया गया है: क्रोमियम 120.0.6099.28 मोज़िला फ़ायरफ़ॉक्स 119.0 वेबकिट 17.4 लेकिन वह सब नहीं है! प्लेराइट का वर्तमान संस्करण निम्नलिखित स्थिर चैनलों के मुकाबले भी उत्कृष्ट साबित हुआ है: गूगल क्रोम 119 माइक्रोसॉफ्ट एज 119 अन्य छोटे परिवर्तन डाउनलोड ऑपरेशन विफल होने या रद्द होने पर और विधियां अब एक त्रुटि उत्पन्न करती हैं। download.path() download.createReadStream() Playwright docker छवि अब Node.js v20 के साथ आती है। क्या आप कोई नया अपडेट मिस नहीं करना चाहते? नाटककार पृष्ठ पर नज़र रखें! रिलीज़ नोट्स नाटककार को कैसे अपडेट करें अब, आप सोच रहे होंगे, "मैं उन शानदार नई चीज़ों को कैसे प्राप्त कर सकता हूँ?" खैर, नाटककार को नवीनतम संस्करण में अद्यतन करके, मेरे मित्र! बस नीचे दिए गए आदेश को सक्रिय करें: npm install @playwright/test@latest और ब्राउज़र इंस्टेंस को इसके साथ अपग्रेड करना भूल जाएं: npx playwright install वोइला! आप नाटककार के नवीनतम अपडेट प्राप्त करने के लिए पूरी तरह तैयार हैं! नये नाटककार, समस्याएँ वही पुरानी... इससे कोई फर्क नहीं पड़ता कि प्लेराइट का आपका संस्करण कितना अद्यतित है, अधिकांश साइटें अभी भी आपकी स्वचालित स्क्रिप्ट का पता लगाने और उसे ब्लॉक करने में सक्षम होंगी। लेकिन यह कैसे संभव है? खैर, प्लेराइट जैसे पुस्तकालयों द्वारा नियंत्रित हेडलेस ब्राउज़र में विशेष कॉन्फ़िगरेशन और सेटिंग्स शामिल होती हैं जिन्हें एंटी-बॉट समाधानों द्वारा लाल झंडे के रूप में देखा जाता है। परिणाम? तत्काल अवरोध या कैप्चा और की अप्रिय उपस्थिति। अन्य कष्टप्रद बाधाओं अब, आप सोच रहे होंगे, "क्या मैं इससे बचने के लिए अपनी ब्राउज़र सेटिंग्स में बदलाव नहीं कर सकता?" इतनी जल्दी नहीं, बच्चे! कम से कम तीन अनिवार्य कारणों से यह एक अच्छा विचार नहीं है: यह कभी न ख़त्म होने वाला चूहे-बिल्ली का खेल है - बॉट विरोधी उपाय विकसित होते हैं, जिससे आज का समाधान कल तक पुरानी खबर बन जाता है। यहां तक कि सबसे कमजोर ब्राउज़र कॉन्फ़िगरेशन के साथ, एक ही आईपी से अत्यधिक अनुरोध अभी भी आपको लक्ष्य साइट से संदिग्ध नजरें दिला सकते हैं। फॉर्म सबमिशन जैसे उपयोगकर्ता इंटरैक्शन के लिए कैप्चा समाधान की आवश्यकता हो सकती है, जिसे स्वचालित करने के लिए पार्क में टहलना आसान नहीं है! समस्या ब्राउज़र स्वचालन लाइब्रेरी के साथ नहीं है (नाटककार कमाल है! 🤘), बल्कि नियंत्रण में ब्राउज़र के साथ है। समाधान एक उच्च अनुकूलन योग्य ब्राउज़र होगा जो: बॉट डिटेक्शन से बचने के लिए सामान्य ब्राउज़र की तरह हेडेड मोड में चलता है। बुनियादी ढांचे के प्रबंधन में आपका समय और पैसा बचाने के लिए आसानी से क्लाउड पर स्केल किया जा सकता है। बाज़ार में सबसे व्यापक और सबसे विश्वसनीय प्रॉक्सी नेटवर्क में से एक द्वारा समर्थित घूर्णनशील आईपी प्रदान करता है अधिकतम प्रभावशीलता के लिए स्वचालित रूप से कैप्चा सॉल्विंग, ब्राउज़र फ़िंगरप्रिंटिंग, कुकी और हेडर अनुकूलन, और स्वचालित पुनर्प्रयास का प्रबंधन कर सकता है। सबसे लोकप्रिय ब्राउज़र ऑटोमेशन लाइब्रेरी, जैसे कि प्लेराइट, सेलेनियम और पपेटियर के साथ एकीकृत होता है विश्वास करें या न करें, यह कोई दूर की मृगतृष्णा नहीं है। यह वास्तविक है और समाधान बिल्कुल यही है! ब्राइट डेटा का स्क्रैपिंग ब्राउज़र अंतिम विचार नाटककार ब्राउज़र ऑटोमेशन लाइब्रेरीज़ का रॉक स्टार है, और जैसे सांता क्लॉज़ क्रिसमस की पूर्व संध्या पर उपहार देता है, वैसे ही माइक्रोसॉफ्ट हर महीने एक बड़ा नया अपडेट जारी करता है। यहां, आपने देखा है कि नवीनतम प्लेराइट अपडेट से अधिकतम लाभ कैसे उठाया जाए, लेकिन आइए इसका सामना करते हैं, वे जादुई रूप से आपको उन्नत बॉट डिटेक्शन प्रौद्योगिकियों वाली साइटों के लिए अदृश्य नहीं बनाएंगे। के स्क्रैपिंग ब्राउज़र समाधान के साथ उस चुनौती से बचें और इंटरनेट को सभी के लिए, हर जगह, यहां तक कि स्वचालित स्क्रिप्ट के माध्यम से एक सार्वजनिक स्थान बनाने के हमारे मिशन में शामिल हों! ब्राइट डेटा अगली बार तक, आज़ादी के साथ वेब एक्सप्लोर करते रहें!