Selenium برنامج تعليمي لـ VBA في Excel (متصفح Chrome)ping)

⚡ ملخص ذكي

Selenium يقوم VBA في Excel بالأتمتة Google Chrome لاستخراج البيانات من صفحات الويب بتنسيق HTML، باستخدام Selenium مكتبة الأنواع وطرق WebDriver لفتح موقع، وتحديد عناصر الجدول حسب الفئة والوسم، وكتابة النتائج في خلايا ورقة العمل.

  • 🧰 Selenium برنامج تشغيل الويب: يستخدم VBA Selenium مكتبة أنواع لتشغيل Google Chrome للخردةping.
  • 📚 مكتبة الأنواع: استخدم Selenium يجب الإشارة إلى مكتبة الأنواع قبل تعريف كائنات WebDriver.
  • 🚀 ابدأ واحصل على: تقوم طريقة Start بفتح متصفح Chrome وتقوم طريقة Get بتحميل الموقع المستهدف URL.
  • 🔎 محددات العناصر: تحدد كل من FindElementByClass و FindElementsByTag موقع رأس الجدول وخلايا البيانات.
  • 📊 الكتابة إلى الخلايا: تقوم حلقة For Each المتداخلة بكتابة قيم العناوين والصفوف في خلايا ورقة العمل.
  • 🤖 مساعدة الذكاء الاصطناعي: تساعد أنظمة الذكاء الاصطناعي المساعدة في كتابة البرامج وتصحيح أخطائها وصيانتها Selenium نصوص VBA البرمجية مع تغير المواقع.

Selenium برنامج تعليمي لبرنامج Excel باستخدام VBA

ما هو مسح البيانات؟ping باستخدام Selenium?

Selenium هي أداة أتمتة تسهل عملية المسح الضوئيping معلومات من صفحات الويب بتنسيق HTML، وتنفيذ عملية استخراج البيانات من الويبping مع Google Chromeفي برنامج إكسل، Selenium تتيح مكتبة الأنواع لـ VBA تشغيل متصفح حقيقي بدلاً من محرك Internet Explorer القديم.

كيفية إعداد ماكرو Excel قبل استخراج البياناتping باستخدام Selenium

هناك متطلبات مسبقة معينة يجب تنفيذها على ملف ماكرو Excel قبل بدء عملية استخراج البياناتping .

وهذه المتطلبات الأساسية هي كالتالي:

الخطوة 1) افتح ماكرو قائم على برنامج Excel وقم بالوصول إلى خيار المطور في Excel.

قم بإعداد ماكرو Excel قبل استخراج البياناتping استخدام Selenium

الخطوة 2) حدد خيار Visual Basic الموجود ضمن شريط أدوات المطور.

قم بإعداد ماكرو Excel قبل استخراج البياناتping استخدام Selenium

الخطوة 3) أدخل وحدة نمطية جديدة.

قم بإعداد ماكرو Excel قبل استخراج البياناتping استخدام Selenium

الخطوة 4) قم بإنشاء روتين فرعي جديد وقم بتسميته test2.

Sub test2()
End Sub

ستكون النتيجة في الوحدة النمطية كما يلي:

قم بإعداد ماكرو Excel قبل استخراج البياناتping استخدام Selenium

الخطوة 5) يمكنك الوصول إلى خيار "المرجع" ضمن علامة التبويب "الأدوات" والإشارة إلى Selenium مكتبة الأنواع. تساعد هذه المكتبة في فتح Google Chrome ويسهل كتابة البرامج النصية الكلية.

الرقم المرجعي Selenium مكتبة الأنواع في Excel VBA

أصبح ملف Excel الآن جاهزًا للتفاعل مع المتصفح. الخطوة التالية هي دمج برنامج نصي (ماكرو) يُسهّل عملية استخراج البيانات.ping بلغة HTML.

كيفية فتح Google Chrome باستخدام فبا

إليك خطوات الفتح Google Chrome باستخدام لغة VBA.

الخطوة 1) قم بتعريف وتهيئة المتغيرات في البرنامج الفرعي كما هو موضح أدناه.

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

الخطوة 2) لفتح Google Chrome استخدام Selenium وباستخدام VBA، اكتب برنامج التشغيل. ابدأ تشغيل "Chrome" واضغط على 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

ستكون نتيجة الوحدة على النحو التالي:

ساعات العمل Google Chrome باستخدام فبا

كيفية فتح موقع ويب في Google Chrome باستخدام فبا

بمجرد أن تتمكن من الوصول Google Chrome باستخدام لغة VBA، تتمثل الخطوة التالية في الوصول إلى موقع ويب باستخدام VBA. ويتم ذلك من خلال دالة Get، حيث URL يتم تمريرها كعلامات اقتباس مزدوجة.

سيبدو شكل الوحدة كما يلي:

افتح الموقع الإلكتروني في Google Chrome باستخدام فبا

اضغط على F5 لتشغيل الماكرو. ستُفتح صفحة الويب التالية في Google Chrome كما هو مبين.

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

افتح الموقع الإلكتروني في Google Chrome باستخدام فبا

أصبح ماكرو Excel الآن جاهزًا لتنفيذ عملية المسح الضوئيping المهام. توضح الخطوة التالية كيفية استخراج المعلوماتtracتيد عن طريق التطبيق Selenium و VBA.

كيفية استخراج المعلومات من موقع ويب باستخدام VBA

لنفترض أن المتداول اليومي يرغب في الوصول إلى البيانات من الموقع الإلكتروني يوميًا. في كل مرة ينقر فيها المتداول اليومي على الزر، يجب أن يتم جلب بيانات السوق تلقائيًا إلى برنامج Excel.

من الموقع الإلكتروني المذكور أعلاه، من الضروري فحص أحد العناصر وملاحظة كيفية تنظيم البيانات. للوصول إلى شفرة المصدر HTML أدناه، اضغط على مفتاحي Ctrl + 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 واحد. لذا، لاستخراج البيانات كاملةً من هذا الجدول، عليك تصميم ماكرو يستخرج معلومات رأس الجدول والبيانات المرتبطة به. نفّذ المهام التالية.

الخطوة 1) قم بصياغة حلقة تكرارية (For loop) تمر عبر معلومات رأس HTML كمجموعة. 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 باستخدام خاصية النطاق أو خاصية الخلايا في ورقة العمل. ولتبسيط نص VBA البرمجي، تُهيأ بيانات المجموعة باستخدام خاصية الخلايا في ورقة العمل الثانية في المصنف. وتساعد خاصية النص في وضع النص ضمن وسم 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) بعد تجهيز نص الماكرو، قم بتعيين الإجراء الفرعي لزر في برنامج Excel ثم اخرج من وحدة VBA. سمِّ الزر "تحديث" أو أي اسم مناسب آخر. في هذا المثال، الزر مُسمى "تحديث".

استخراج المعلومات من موقع الويب باستخدام VBA

الخطوة 4) اضغط على زر التحديث للحصول على الناتج أدناه.

استخراج المعلومات من موقع الويب باستخدام VBA

الخطوة 5) قارن النتائج في برنامج Excel مع النتائج في Google Chrome.

استخراج المعلومات من موقع الويب باستخدام VBA

الأسئلة الشائعة

يحتاج برنامج إكسل إلى Selenium مكتبة الأنواع، المثبتة من خلال Seleniumمكتبة Basic، المشار إليها في محرر VBA ضمن الأدوات، المراجع. توفر هذه المكتبة كائن WebDriver وطرقًا مثل Start وGet وFindElementByClass المستخدمة لأتمتة المتصفح.

Selenium يمكن لـ VBA أن يقود Google Chromeموزيلا Firefox, Microsoft Edgeوإنترنت إكسبلورر. يُعدّ كروم الخيار الأكثر شيوعًا. يحتاج كل متصفح إلى برنامج تشغيل ويب متوافق معه، ويمكن استخدام نفس كود VBA للتبديل بين المتصفحات بأقل قدر من التغييرات.

استخدم طريقة إنترنت إكسبلورر يستخدم مكتبة كائنات HTML ومتصفح إنترنت إكسبلورر فقط، وهو متصفح قديم. Selenium يدعم المتصفحات الحديثة مثل Chrome ويوفر دعمًا لمتصفحات متعددة وتحديدًا أكثر موثوقية للعناصر.

نعم. يمكن للطيارين المساعدين الذين يعملون بالذكاء الاصطناعي توليد Selenium يقوم الذكاء الاصطناعي باستخراج كود VBA من وصف، واقتراح محددات العناصر، والمساعدة في تصحيح الأخطاء. وعندما يتغير موقع ويب، يمكنه اقتراح محددات محدثة، مما يقلل الجهد اليدوي المبذول في صيانة الكود.ping وحدات الماكرو.

تُضيف تقنيات الذكاء الاصطناعي ميزاتٍ مثل الكشف الذكي عن العناصر، وأوامر اللغة الطبيعية، ومحددات المواقع ذاتية الإصلاح إلى أتمتة المتصفح. تُمكّن هذه الميزات، التي تعتمد على التعلم الآلي، الأدوات من التكيف مع تغييرات التخطيط تلقائيًا، مما يجعل عملية المسح الضوئي أكثر سهولة.ping واختبار أكثر مرونة من البرامج النصية الثابتة والمكتوبة بشكل جامد.

تلخيص هذه التدوينة بـ: