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

डेटा स्क्रैप क्या है?ping का प्रयोग Selenium?
Selenium यह एक स्वचालन उपकरण है जो स्क्रैच प्रक्रिया को सुगम बनाता है।ping एचटीएमएल वेब पेजों से जानकारी प्राप्त करना, वेब स्क्रैपिंग करनाping गूगल क्रोम के साथ। एक्सेल में, Selenium टाइप लाइब्रेरी VBA को अप्रचलित इंटरनेट एक्सप्लोरर इंजन के बजाय एक वास्तविक ब्राउज़र चलाने की अनुमति देती है।
डेटा स्क्रैप करने से पहले एक्सेल मैक्रो को कैसे तैयार करेंping का प्रयोग Selenium
डेटा स्क्रैपिंग शुरू करने से पहले एक्सेल मैक्रो फ़ाइल पर कुछ आवश्यक कार्य पूरे करने होते हैं।ping प्रक्रिया.
ये पूर्व-आवश्यकताएं इस प्रकार हैं:
चरण 1) एक्सेल आधारित मैक्रो खोलें और एक्सेल के डेवलपर विकल्प तक पहुंचें।
चरण 2) डेवलपर रिबन के अंतर्गत विजुअल बेसिक विकल्प का चयन करें।
चरण 3) एक नया मॉड्यूल डालें.
चरण 4) एक नई सबरूटीन को प्रारंभ करें और उसका नाम test2 रखें।
Sub test2() End Sub
मॉड्यूल में परिणाम इस प्रकार होगा:
चरण 5) टूल्स टैब के अंतर्गत रेफरेंस विकल्प पर जाएं और संदर्भ दें 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 का उपयोग करके किसी वेबसाइट तक पहुंचना होता है। यह Get फ़ंक्शन द्वारा सुगम बनाया जाता है, जहां URL इसे डबल कोटेशन मार्क के रूप में पास किया जाता है।
मॉड्यूल इस प्रकार दिखेगा:
मैक्रो को चलाने के लिए 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
अब एक्सेल मैक्रो स्क्रैच करने के लिए तैयार है।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 मॉड्यूल इस प्रकार दिखेगा:
चरण 3) मैक्रो स्क्रिप्ट तैयार हो जाने पर, सबरूटीन को एक्सेल बटन से जोड़ें और VBA मॉड्यूल से बाहर निकलें। बटन को रिफ्रेश या कोई उपयुक्त नाम दें। इस उदाहरण में, बटन को रिफ्रेश नाम दिया गया है।
चरण 4) नीचे दिए गए आउटपुट को देखने के लिए रिफ्रेश बटन दबाएं।
चरण 5) एक्सेल में मिले परिणामों की तुलना गूगल क्रोम में मिले परिणामों से करें।












