السلام عليكم ورحمة الله وبركاته
إخواني وأحبابي في الله
للعاملين في التربية والتعليم ، والمختصين بإضافة طلاب لموقع الوزارة ، أقدم لكم هذا الموضوع الحصري .. والذي سيمكنك من إضافة تلاميذ لموقع المدرسة بكل سهولة ، بدون عناء الإدخال اليدوي الذي يبعث على الملل ، خصوصاً إذا كان عدد الطلاب كبير
لن أقدم الموضوع بشكل مباشر وكامل إلا إذا وجدت تفاعل في الموضوع .. لأشعر أن هناك من يهتم
السلام عليكم نبدأ إن شاء الله في هذا المشروع وسيكتمل بكم وبتفاعلكم إن شاء الله
توجد بعض الدروس في كيفية تنصب أداة تسمى Selenium ستجدونها في الموضوعات الخاصة بي .. يمكنكم الإطلاع على أول موضوع على الأقل لنختصر الوقت
سنقوم اليوم بمحاكاة عملية الدخول ولكن لن نقوم بالدخول على موقع الوزارة ، بل سنقوم بالدخول على الفيس بوك على سبيل المثال لنفهم الفكرة العامة لكيفية استخدام الأكواد في الدخول على أي موقع
الخطوة الأولى
نقوم بالدخول على محرر الأكواد بالضغط على Alt + F11 ومن قائمة Tools نختار References ونبحث عن المكتبة Selenium Type Libray ، ونفعل المكتبة بوضع علامة صح بجانب هذا الخيار الاستراتيجي
الخطوة الثانية
كتابة كلمة Sub يليها اسم الإجراء الفرعي ويكون معبر عن الهدف من الكود ، وليكن Login_Facebook
وهذا هو الشكل المبدئي للكود
CODE
Sub Login_Facebook()
'هنا سنقوم بكتابة الكود
End Sub
الخطوة الثالثة
بداية كتابة الكود وسنقوم بتعريف متغير باسم bot أو أي اسم آخر .. اسم المتغير ليس إجباري (يمكنك تسمية المتغير بما تريد وبما لا يتخالف مع قواعد التسمية للمتغيرات)
CODE
Dim bot As New WebDriver<br />
حيث يتم إنشاء متصفح محاكي داخل الجوجل كروم ، ويمكنك التحكم فيه كما سيتم شرحه لاحقاً
الخطوة الرابعة
الدخول للموقع عن طريق المتصفح الذي سيتم تحديده (حيث يمكنك التعامل مع الكثير من المتصفحات ولكن سيكون الشرح على متصفح الجوجل كروم وهو الأشهر والأفضل في حالات التعامل مع الـ Selenium)
CODE
bot.Start "chrome", "https://www.facebook.com"
كما نلاحظ يتم استخدام الحدث Start ليبدأ المتصفح في الإنطلاق وهنا تم تحديد المتصفح chrome ، ويتم وضع عنوان الموقع المراد التعامل معه
إذا قمنا بتنفيذ الكود إلى هذا السطر سيتم فتح المتصفح ، ولكن لن يفتح صفحة الفيس ..
الخطوة الخامسة
كما أخبرنا في الخطوة السابقة تم تعيين العنوان للموقع المراد التعامل معه .. ولكن لتصفح وفتح الموقع يجب استخدام الحدث Get حيث يتم التعامل مع العنوان مضافاً إليه / وهذا سيقوم بفتح الصفحة الرئيسية للموقع ، مع العلم أنه يمكن تصفح أي جزء في هذا الموقع بتحديد الجزء المطلوب بعد علامة /
فلو كتبنا بعد علامة الـ / كلمة settings سيدخل إلى صفحة الإعدادات الخاصة بالفيس بوك
CODE
bot.Get "/"
الخطوة السادسة
عند الدخول لموقع الفيس بوك داخل هذا المتصفح لن يدخل بشكل مباشر لأن بيانات الدخول غير مسجلة في هذا المصتفح المحاكي للكروم
لذا سيلزمك إدخال بيانات الدخول (الإيميل وكلمة المرور)
CODE
Sub Login_Facebook()
Dim bot As New WebDriver
bot.Start "chrome", "https://www.facebook.com"
bot.Get "/"
Stop
End Sub
نقوم بتنفيذ الكود ، وقد وضعت كلمة Stop حتى لا يغلق المتصفح بعد تنفيذ الكود ..
نقطة توقف وننظر للنتائج التي قام بها الكود إلى الآن
النتيجة هي الدخول على موقع الفيس بوك ، ولكن الصفحة تحتاج لبيانات الدخول
ولإدخال هذه البيانات يجب معرفة كيفية التعامل مع العناصر الخاصة بالـ HTML ، وهنا يوجد صندوق نص للإيميل
في المتصفح المحاكي الذي تم فتح الفيس بوك فيه ، نضغط F12 من لوحة المفاتيح ، ثم نقوم بوضع نافذة Developer Tools في الأسفل ليسهل التعامل معها كما بالصورة التالية
في صندوق النص الخاص بإدخال الإيميل نضع مؤشر الماوس ثم نضغط كليك يمين ثم Inspect لفحص هذا العنصر ، وإيجاد ما سيمكننا من التعامل معه
بالإطلاع على جزء الـ HTML الخاص بهذا العنصر نجد أن هناك ما يميز العنصر هو أن له id وهو بمثابة اسم مميز للعنصر وغالباً لن تجد id آخر بنفس الاسم ، ويمكن التأكد من ذلك بالبحث عن اسم الـ id (اسم الـ id هنا هو كلمة email)
حدد نافذة المطور Developer Tools في المصتفح ثم اضغط Ctrl + F واكتب كلمة email ولاحظ عدد النتائج كما بالصورة التالية
الخطوة السابعة
بعد أن تعرفنا على العنصر نكتب الكود الذي سيمكننا من إدخال البيانات في هذا الصندوق
في السطر السابق لكلمة Stop نكتب كلمة bot ثم نضع نقطة فيظهر لنا قائمة تساعدنا على كتابة الكود كما بالشكل
ثم نبحث عن هذا الحدث FindElementById والذي سيقوم بالبحث عن العنصر بدلالة الـ id
ليكون السطر بهذا الشكل
CODE
bot.FindElementById("email")
ولكن السطر لم يكتمل بعد .. قام المصتفح المحاكي بالبحث عن الـ id ، والسؤال ماذا بعد؟ ما المطلوب عمله مع هذا العنصر ..
بالطبع المطلوب إرسال حروف الإيميل إلى عنصر الإدخال وهنا نستخدم حدث SendKeys حيث يقوم بكتابة الإيميل الخاص بنا ويكون داخل أقواس تنصيص بهذا الشكل
CODE
bot.FindElementById("email").SendKeys "yakh777@yahoo.com"
كيف نقوم بالرجوع للخلف وتنفيذ هذا السطر فقط
الأمر بسيط جداً قم بسحب السهم الأصفر على اليسار لأعلى ، لتصل لهذا السطر
الآن اضغط F8 من لوحة المفاتيح لتنفيذ السطر الحالي
القي نظرة على المتصفح لتجد أن الإيميل قد تم إدخاله بنجاح بهذا الشكل
الخطوة الثامنة
سنقوم بنفس الخطوات مع صنوق الإدخال الخاص بكلمة المرور (افعلوها بأنفسكم)
الخطوة التاسعة
سنقوم بفحص العنصر الخاص بالضغط على زر "تسجيل الدخول" ، ولكن هنا لكن نستخدم الحدث SendKeys حيث أننا لن نقوم بكتابة شيء داخل زر الأمر ، إنما زر الأمر مطلوب النقر عليه لذا نستخدم ببساطة الحدث Click
*** الخطوة الثامنة والتاسعة سأتركها للتفاعل .. لأرى مدى الاستجابة للموضوع لأنني لن أستكمل الموضوع إذا لم أجد تفاعل واهتمام
تقبلوا وافر تقديري واحترامي