Selenium VBA एक्सेल ट्यूटोरियल (क्रोम वेब स्क्रैच)ping)

⚡ स्मार्ट सारांश

Selenium Excel में VBA का उपयोग करके Google Chrome HTML वेब पेजों से डेटा स्क्रैप करने के लिए स्वचालित हो जाता है। Selenium साइट खोलने, क्लास और टैग के आधार पर टेबल तत्वों का पता लगाने और परिणामों को वर्कशीट सेल में लिखने के लिए टाइप लाइब्रेरी और वेबड्राइवर विधियों का उपयोग करना।

  • 🧰 Selenium वेबड्राइवर: VBA इसका उपयोग करता है Selenium स्क्रैच के लिए Google Chrome चलाने हेतु टाइप लाइब्रेरीping.
  • 📚 टाइप लाइब्रेरी: RSI Selenium वेबड्राइवर ऑब्जेक्ट घोषित करने से पहले टाइप लाइब्रेरी का संदर्भ देना आवश्यक है।
  • 🚀 शुरू करें और पाएं: Start मेथड Chrome खोलता है और Get मेथड लक्ष्य वेबसाइट को लोड करता है। URL.
  • 🔎 तत्व लोकेटर: FindElementByClass और FindElementsByTag टेबल के हेडर और डेटा सेल का पता लगाते हैं।
  • 📊 सेल में लिखें: एक नेस्टेड फॉर ईच लूप हेडर और पंक्ति मानों को वर्कशीट सेल में लिखता है।
  • 🤖 एआई सहायता: एआई कोपायलट लेखन, डिबगिंग और रखरखाव में सहायता करते हैं। Selenium साइटों में बदलाव होने पर VBA स्क्रिप्ट में भी बदलाव होता रहता है।

Selenium VBA एक्सेल ट्यूटोरियल

डेटा स्क्रैप क्या है?ping का प्रयोग Selenium?

Selenium यह एक स्वचालन उपकरण है जो स्क्रैच प्रक्रिया को सुगम बनाता है।ping एचटीएमएल वेब पेजों से जानकारी प्राप्त करना, वेब स्क्रैपिंग करनाping गूगल क्रोम के साथ। एक्सेल में, Selenium टाइप लाइब्रेरी VBA को अप्रचलित इंटरनेट एक्सप्लोरर इंजन के बजाय एक वास्तविक ब्राउज़र चलाने की अनुमति देती है।

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो को कैसे तैयार करेंping का प्रयोग Selenium

डेटा स्क्रैपिंग शुरू करने से पहले एक्सेल मैक्रो फ़ाइल पर कुछ आवश्यक कार्य पूरे करने होते हैं।ping प्रक्रिया.

ये पूर्व-आवश्यकताएं इस प्रकार हैं:

चरण 1) एक्सेल आधारित मैक्रो खोलें और एक्सेल के डेवलपर विकल्प तक पहुंचें।

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping का उपयोग Selenium

चरण 2) डेवलपर रिबन के अंतर्गत विजुअल बेसिक विकल्प का चयन करें।

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping का उपयोग Selenium

चरण 3) एक नया मॉड्यूल डालें.

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping का उपयोग Selenium

चरण 4) एक नई सबरूटीन को प्रारंभ करें और उसका नाम test2 रखें।

Sub test2()
End Sub

मॉड्यूल में परिणाम इस प्रकार होगा:

डेटा स्क्रैप करने से पहले एक्सेल मैक्रो तैयार करेंping का उपयोग Selenium

चरण 5) टूल्स टैब के अंतर्गत रेफरेंस विकल्प पर जाएं और संदर्भ दें Selenium टाइप लाइब्रेरी। यह लाइब्रेरी गूगल क्रोम खोलने में मदद करती है और मैक्रो स्क्रिप्टिंग को सुगम बनाती है।

संदर्भ Selenium एक्सेल वीबीए में टाइप लाइब्रेरी

अब एक्सेल फ़ाइल ब्राउज़र के साथ इंटरैक्ट करने के लिए तैयार है। अगला चरण डेटा स्क्रैपिंग को सुविधाजनक बनाने वाली मैक्रो स्क्रिप्ट को शामिल करना है।ping एचटीएमएल में।

VBA का उपयोग करके Google Chrome कैसे खोलें

VBA का उपयोग करके Google Chrome खोलने के चरण यहां दिए गए हैं।

चरण 1) नीचे दिखाए गए अनुसार सबरूटीन में वेरिएबल्स को घोषित और इनिशियलाइज़ करें।

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer

चरण 2) गूगल क्रोम खोलने के लिए Selenium और VBA, ड्राइवर लिखें। "क्रोम" शुरू करें और F5 दबाएं।

कोड निम्नलिखित होगा.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
Application.Wait Now + TimeValue("00:00:20")
End Sub

इस मॉड्यूल का परिणाम इस प्रकार होगा:

VBA का उपयोग करके Google Chrome खोलें

VBA का उपयोग करके Google Chrome में वेबसाइट कैसे खोलें

एक बार जब आप VBA का उपयोग करके Google Chrome तक पहुंच प्राप्त कर लेते हैं, तो अगला चरण VBA का उपयोग करके किसी वेबसाइट तक पहुंचना होता है। यह Get फ़ंक्शन द्वारा सुगम बनाया जाता है, जहां URL इसे डबल कोटेशन मार्क के रूप में पास किया जाता है।

मॉड्यूल इस प्रकार दिखेगा:

VBA का उपयोग करके वेबसाइट को Google Chrome में खोलें

मैक्रो को चलाने के लिए F5 दबाएँ। नीचे दिखाया गया वेबपेज गूगल क्रोम में खुल जाएगा।

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
Application.Wait Now + TimeValue("00:00:20")
End Sub

VBA का उपयोग करके वेबसाइट को Google Chrome में खोलें

अब एक्सेल मैक्रो स्क्रैच करने के लिए तैयार है।ping कार्य। अगला चरण दिखाता है कि जानकारी को कैसे निकाला जा सकता है।tracआवेदन करके Selenium और वीबीए।

VBA का उपयोग करके किसी वेबसाइट से जानकारी कैसे प्राप्त करें

मान लीजिए कि एक डे ट्रेडर वेबसाइट से प्रतिदिन डेटा प्राप्त करना चाहता है। हर बार जब डे ट्रेडर बटन पर क्लिक करे, तो बाजार का डेटा स्वचालित रूप से एक्सेल में आ जाना चाहिए।

उपरोक्त वेबसाइट से, किसी एलिमेंट का निरीक्षण करना और डेटा की संरचना का अवलोकन करना आवश्यक है। नीचे दिए गए HTML के सोर्स कोड को एक्सेस करने के लिए कंट्रोल + बटन दबाएँ। Shift + मैं.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

जैसा कि आप देख सकते हैं, डेटा एक ही HTML टेबल के रूप में संरचित है। इसलिए, HTML टेबल से संपूर्ण डेटा प्राप्त करने के लिए, आपको एक मैक्रो डिज़ाइन करना होगा जो हेडर की जानकारी और टेबल से संबंधित डेटा को प्राप्त करे। नीचे दिए गए कार्यों को पूरा करें।

चरण 1) एक फॉर लूप बनाएं जो एचटीएमएल हेडर की जानकारी को एक संग्रह के रूप में प्रोसेस करे। Selenium ड्राइवर, दिखाए गए अनुसार, FindElementByClass() और FindElementByTag() विधियों का उपयोग करके हेडर जानकारी का पता लगाता है।

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th

चरण 2) अगला, Selenium ड्राइवर इसी तरह की विधि का उपयोग करके टेबल डेटा का पता लगाता है। निम्नलिखित कोड लिखें:

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

Excel को शीट के Range या Cells एट्रिब्यूट का उपयोग करके इनिशियलाइज़ किया जा सकता है। VBA स्क्रिप्ट की जटिलता को कम करने के लिए, डेटा संग्रह को वर्कबुक की शीट 2 के Cells एट्रिब्यूट में इनिशियलाइज़ किया जाता है। Text एट्रिब्यूट HTML टैग के अंतर्गत टेक्स्ट को रखने में मदद करता है।

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

VBA मॉड्यूल इस प्रकार दिखेगा:

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

चरण 3) मैक्रो स्क्रिप्ट तैयार हो जाने पर, सबरूटीन को एक्सेल बटन से जोड़ें और VBA मॉड्यूल से बाहर निकलें। बटन को रिफ्रेश या कोई उपयुक्त नाम दें। इस उदाहरण में, बटन को रिफ्रेश नाम दिया गया है।

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

चरण 4) नीचे दिए गए आउटपुट को देखने के लिए रिफ्रेश बटन दबाएं।

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

चरण 5) एक्सेल में मिले परिणामों की तुलना गूगल क्रोम में मिले परिणामों से करें।

VBA का उपयोग करके वेबसाइट से जानकारी निकालना

अक्सर पूछे जाने वाले प्रश्न

एक्सेल को इसकी आवश्यकता है Selenium टाइप लाइब्रेरी, जिसके माध्यम से स्थापित की गई है Seleniumबेसिक लाइब्रेरी, जिसे VBA एडिटर में टूल्स, रेफरेंसेस के अंतर्गत संदर्भित किया गया है। यह लाइब्रेरी वेबड्राइवर ऑब्जेक्ट और स्टार्ट, गेट और फाइंडएलिमेंटबायक्लास जैसे मेथड प्रदान करती है जिनका उपयोग ब्राउज़र को स्वचालित करने के लिए किया जाता है।

Selenium VBA गूगल क्रोम और मोज़िला को चला सकता है। Firefox, Microsoft Edgeऔर इंटरनेट एक्सप्लोरर। क्रोम सबसे आम विकल्प है। प्रत्येक ब्राउज़र को उसके संबंधित वेबड्राइवर की आवश्यकता होती है, और उसी VBA कोड का उपयोग करके न्यूनतम परिवर्तनों के साथ ब्राउज़र बदले जा सकते हैं।

RSI इंटरनेट एक्सप्लोरर विधि यह HTML ऑब्जेक्ट लाइब्रेरी का उपयोग करता है और केवल IE का उपयोग करता है, जो कि अप्रचलित है। Selenium यह क्रोम जैसे आधुनिक ब्राउज़रों को संचालित करता है और मल्टी-ब्राउज़र सपोर्ट और अधिक विश्वसनीय एलिमेंट लोकेशन प्रदान करता है।

हाँ। एआई कोपायलट उत्पन्न कर सकते हैं। Selenium विवरण से VBA कोड प्राप्त करें, एलिमेंट लोकेटर सुझाएं और त्रुटियों को डीबग करने में सहायता करें। वेबसाइट में बदलाव होने पर, AI अपडेटेड सेलेक्टर सुझा सकता है, जिससे स्क्रेचर को मैन्युअल रूप से बनाए रखने का प्रयास कम हो जाता है।ping मैक्रोज़.

कृत्रिम बुद्धिमत्ता (AI) ब्राउज़र स्वचालन में बुद्धिमान तत्व पहचान, प्राकृतिक भाषा कमांड और स्व-उपचार लोकेटर जोड़ती है। मशीन लर्निंग की ये विशेषताएं टूल को लेआउट परिवर्तनों के अनुसार स्वचालित रूप से अनुकूलित होने देती हैं, जिससे स्क्रैच करना आसान हो जाता है।ping और यह निश्चित, हार्ड-कोडेड स्क्रिप्ट की तुलना में अधिक लचीला परीक्षण प्रदान करता है।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: