Selenium Python شرح استخدام WebDriver (مثال)

⚡ ملخص ذكي

Selenium مع Python يجمع مكتبة أتمتة WebDriver مع Python صيغة مختصرة لاختبار تطبيقات الويب عبر Firefoxمتصفح كروم، ومتصفح إنترنت إكسبلورر. هذا الدليل الإرشادي يُهيئ النظام. PyDev in Eclipseيكتب نصوص تسجيل الدخول، ويشرح لماذا تفضل الفرق Python على مدى Java.

  • 🐍 Python ميزة: Less يجعل التركيب النحوي المطول Selenium نصوص برمجية أسهل في القراءة والصيانة.
  • 🌐 برنامج تشغيل الويب: يرسل أوامر قياسية إلى Firefox، كروم، وإنترنت إكسبلورر بغض النظر عن تصميم المتصفح.
  • 🧩 PyDev الإعداد: تثبيت PyDev المساعد في Eclipse وتعيين Python مترجم.
  • 📝 برامج تسجيل الدخول: حدد الحقول باستخدام المعرف، وأرسل المفاتيح، وقم بإرسال النموذج تلقائيًا.
  • ✅ تأكيد العنوان: يقوم WebDriverWait بالإضافة إلى assert بالتحقق من عنوان الصفحة بعد تسجيل الدخول.
  • 🤖 مساعدة الذكاء الاصطناعي: تقوم أدوات الذكاء الاصطناعي بإنشاء محددات المواقع و Selenium Python كتابة النصوص من خلال مطالبات بسيطة.

Selenium Python برنامج تعليمي باستخدام WebDriver

Selenium مع Python

Selenium وتدعم Python وبالتالي يمكن الاستفادة منها Selenium برنامج تشغيل الويب مع Python للاختبار.

  • Python تُعد سهلة مقارنة بلغات البرمجة الأخرى، حيث تتميز ببنية نحوية أقل إسهاباً بكثير.
  • استخدم Python تتيح لك واجهات برمجة التطبيقات (APIs) الاتصال بالمتصفح من خلاله Selenium.
  • Selenium يرسل المعيار Python الأوامر للمتصفحات المختلفة، على الرغم من اختلاف تصميم المتصفحات.

يمكنك الجري Selenium مع Python البرامج النصية ل Firefox، كروم، إنترنت إكسبلورر، إلخ. على أنظمة تشغيل مختلفة.

ما هي تفاصيل Python?

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

انظر بعض الأمثلة في الجدول أدناه.

البحث عن كلمة معنى الأستعمال
أليف إذا كان آخر إذا كان آخر
آخر آخر إذا: X؛ إليف: ذ؛ آخر: ي
إلا افعل ذلك في حالة حدوث استثناء باستثناء ValueError، أ: اطبع أ
EXEC تشغيل السلسلة كـ Python exec "اطبع "مرحبًا بالعالم!""

ما هي تفاصيل Selenium?

Selenium هي أداة لاختبار تطبيق الويب الخاص بك. يمكنك القيام بذلك بطرق مختلفة، على سبيل المثال:

  • اسمح له بالنقر على الأزرار.
  • أدخل المحتوى في النماذج.
  • قم بتصفح موقعك للتحقق مما إذا كان كل شيء على ما يرام وما إلى ذلك.

كيفية التثبيت والتكوين PyDev in Eclipse

PyDev هي Python بيئة التطوير ل Eclipse.

الخطوة 1) انتقل إلى البرنامج المساعد في التأليف Eclipse السوق. مساعدة > تثبيت برامج جديدة.

التثبيت والتكوين PyDev in Eclipse

الخطوة التالية هي تثبيت "بيئة تطوير pydev" لـ Eclipse.

الخطوة 2) في هذه الخطوة:

  1. ابحث عن "http://pydev.org/updates" في قسم "العمل مع"، ثم
  2. حدد جميع العناصر المدرجة وانقر على "التالي" مرتين.
  3. وافق على اتفاقية الترخيص وانقر على "إنهاء".

التثبيت والتكوين PyDev in Eclipse

الخطوة 3) قد تظهر لك رسالة تحذير أمني. انقر على "التثبيت على أي حال".

التثبيت والتكوين PyDev in Eclipse

الخطوة 4) اضبط الإعدادات المفضلة حتى تتمكن من استخدامها Python حسب متطلبات المشروع. انتقل إلى نافذة > تفضيلات > PyDev > مترجم > Python مترجم.

التثبيت والتكوين PyDev in Eclipse

اضبط الإعداد الافتراضي Python المترجم، تمامًا كما قمتَ بضبط Java مترجم لتشغيل Java لتغيير اسم المفسر، انقر فوق زر "استعراض ملفات python/pypy exe".

التثبيت والتكوين PyDev in Eclipse

الخطوة 5) في هذه الخطوة، قم بإعطاء "اسم المترجم" ومسار الملف "exe". Python.

  1. انقر فوق "استعراض" وابحث عن python.exe حيث قمت بالتثبيت Python.
  2. انقر فوق الزر "موافق".
  3. حدد جميع المجلدات وانقر على "موافق".
  4. انقر على "تطبيق وإغلاق".

التثبيت والتكوين PyDev in Eclipse

الخطوة 6) أنشئ مشروعًا جديدًا في Pythonفي هذه الخطوة:

  1. انقر بزر الماوس الأيمن PyDev مستكشف الحزم > جديد.
  2. حدد الخيار الآخرين.

التثبيت والتكوين PyDev in Eclipse

  1. حدد "PyDev > PyDev مشروع".
  2. اضغط على زر "التالي".

التثبيت والتكوين PyDev in Eclipse

  1. اسم مشروعك.
  2. انقر فوق "إنهاء".

التثبيت والتكوين PyDev in Eclipse

يمكنك ان ترى الجديد Python (PyDev) تم إنشاء المشروع.

الخطوة 7) بعد إنشاءPyDev Project"، ستقوم بإنشاء ملف جديد Python الحزمة.

  1. انقر بزر الماوس الأيمن على المشروع > جديد > PyDev صفقة.
  2. قم بتسمية الحزمة الخاصة بك وانقر فوق "إنهاء".

التثبيت والتكوين PyDev in Eclipse

التثبيت والتكوين PyDev in Eclipse

الخطوة 8) كما هو موضح في لقطة الشاشة أدناه، يتم إنشاء حزمة جديدة.

التثبيت والتكوين PyDev in Eclipse

بعد ذلك ، قم بإنشاء PyDev وحدة نمطية. تحتوي الوحدة النمطية على Python ملفات للتهيئة، والتي يمكن استيراد وظائفها إلى وحدة نمطية أخرى، مما يجنب إعادة كتابة البرنامج.

الخطوة 9) إنشاء جديد PyDev وحدة. انقر بزر الماوس الأيمن على الحزمة > جديد > PyDev وحدة.

التثبيت والتكوين PyDev in Eclipse

قم بتسمية الوحدة الخاصة بك وانقر فوق "إنهاء".

التثبيت والتكوين PyDev in Eclipse

حدد قالبًا فارغًا وانقر فوق "موافق".

التثبيت والتكوين PyDev in Eclipse

الخطوة 10) اكتب الكود الخاص بك ل Selenium مع Python كما هو مبين أدناه.

التثبيت والتكوين PyDev in Eclipse

كيفية إنشاء البرامج النصية للاختبار في Selenium مع Python

في هذا Selenium برنامج تشغيل الويب مع Python على سبيل المثال، قمنا بأتمتة "صفحة تسجيل الدخول إلى فيسبوك" باستخدام Firefox سائق.

Selenium مع Python مثال 1: تسجيل الدخول إلى الفيسبوك

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user_name = "YOUR EMAILID"
password = "YOUR PASSWORD"
driver = webdriver.Firefox()
driver.get("https://www.facebook.com")
element = driver.find_element_by_id("email")
element.send_keys(user_name)
element = driver.find_element_by_id("pass")
element.send_keys(password)
element.send_keys(Keys.RETURN)
element.close()

لمحة سريعة عن Code

إنشاء البرامج النصية للاختبار في Selenium مع Python

شرح الكود

  • Code السطر 1: من وحدة selenium، استورد webdriver.
  • Code السطر 2: من وحدة selenium، استورد Keys.
  • Code السطر 3: اسم المستخدم هو متغير يستخدم لتخزين قيمة اسم المستخدم.
  • Code السطر 4: سيتم استخدام المتغير "password" لتخزين قيمة كلمة المرور.
  • Code السطر 5: تهيئة "Firefox"من خلال جعل كائن منه.
  • Code السطر 6: تقوم الدالة "driver.get" بالانتقال إلى الصفحة المحددة بواسطة URL. ينتظر WebDriver حتى يتم تحميل الصفحة بالكامل قبل إعادة التحكم إلى البرنامج النصي الخاص بك.
  • Code السطر 7: ابحث عن عنصر مربع النص حيث يجب كتابة "البريد الإلكتروني".
  • Code السطر 8: أرسل القيم إلى قسم البريد الإلكتروني.
  • Code السطر 9: وينطبق الأمر نفسه على كلمة المرور.
  • Code السطر 10: أرسل القيم إلى قسم كلمة المرور.
  • Code السطر 11: تقوم الدالة element.send_keys(Keys.RETURN) بالضغط على مفتاح الإدخال بعد إدخال القيم.
  • Code السطر 12: إغلاق.

الإخراج: يتم إدخال قيم اسم المستخدم "guru99" وكلمة المرور.

إنشاء البرامج النصية للاختبار في Selenium مع Python

سيتم تسجيل الدخول إلى صفحة الفيسبوك باستخدام البريد الإلكتروني وكلمة المرور. تم فتح الصفحة (انظر الصورة أدناه).

إنشاء البرامج النصية للاختبار في Selenium مع Python

Selenium مع Python مثال 2: سجل الدخول إلى فيسبوك وتحقق من العنوان

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

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
# Step 1) Open Firefox
browser = webdriver.Firefox()
# Step 2) Navigate to Facebook
browser.get("http://www.facebook.com")
# Step 3) Search & Enter the Email or Phone field & Enter Password
username = browser.find_element_by_id("email")
password = browser.find_element_by_id("pass")
submit   = browser.find_element_by_id("loginbutton")
username.send_keys("YOUR EMAILID")
password.send_keys("YOUR PASSWORD")
# Step 4) Click Login
submit.click()
wait = WebDriverWait( browser, 5 )
page_title = browser.title
assert page_title == "Facebook"

لقطة من الكود

إنشاء البرامج النصية للاختبار في Selenium مع Python

شرح الكود:

  • Code الأسطر 1-2: استورد حزم سيلينيوم.
  • Code السطر 4: تهيئة Firefox عن طريق إنشاء كائن.
  • Code السطر 6: احصل على صفحة تسجيل الدخول (فيسبوك).
  • Code الأسطر 8-10: قم بجلب مربعات إدخال اسم المستخدم وكلمة المرور وزر الإرسال.
  • Code الأسطر 11-12: أدخل البيانات في خانتي إدخال اسم المستخدم وكلمة المرور.
  • Code السطر 14: انقر على زر "إرسال".
  • Code السطر 15: أنشئ كائن انتظار بمهلة زمنية قدرها 5 ثوانٍ.
  • Code السطر 16: استخرج العنوان من كائن "المتصفح".
  • Code السطر 17: اختبر سلسلة العنوان الملتقطة باستخدام "فيسبوك".

لماذا تختار Python على مدى Java in Selenium

بعض النقاط التي تصب في صالح Python على مدى Java لاستخدامها مع Selenium هي:

  1. Java تميل البرامج إلى العمل بشكل أبطأ مقارنةً ببرامج الكمبيوتر Python البرامج.
  2. Java يستخدم الأقواس التقليدية لبدء وإنهاء الكتل، بينما Python يستخدم المسافة البادئة.
  3. Java يستخدم نوع ثابتping، في حين Python تتم كتابته ديناميكيًا.
  4. Python هو أبسط وأكثر إحكاما بالمقارنة مع Java.

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

قم بتشغيل الأمر pip install selenium. حديث Selenium السفن مع Selenium يقوم المدير بتنزيل برنامج تشغيل المتصفح المتوافق تلقائيًا، لذلك لا حاجة إلى إعداد برنامج تشغيل Chrome يدويًا.

WebDriver هو Selenium واجهة تشغل متصفحًا حقيقيًا، وترسل الأوامر إلى Firefoxاستخدم متصفح Chrome أو Edge للتحكم في التنقل والنقرات وإدخال النماذج.

Selenium تمت إزالة الدالة find_element_by_id. استخدم فئة By: من selenium.webdriver.common.by استورد By، ثم driver.find_element(By.ID, “email”).

يقوم الانتظار الضمني باستطلاع DOM لفترة زمنية محددة. أما الانتظار الصريح (WebDriverWait) فيتوقف مؤقتًا حتى يتحقق شرط معين. تجنب استخدام كليهما معًا لمنع حدوث توقيت غير متوقع.

رقم PyDev in Eclipse هذا أحد الخيارات. يمكنك أيضًا تشغيل Selenium Python البرامج النصية في PyCharm, VS Codeأو من سطر الأوامر.

Selenium يدعم WebDriver Firefoxكروم، وإيدج، وسفاري، وإنترنت إكسبلورر. نفس الشيء Python يتم تشغيل البرنامج النصي عبرها عن طريق التبديلping السائق.

نعم. تقوم مساعدات الذكاء الاصطناعي مثل ChatGPT بتحويل وصف الاختبار بلغة بسيطة إلى Selenium Python قم بتضمين التعليمات البرمجية، واقترح محددات المواقع، وقم بتحويل استدعاءات find_element_by_id القديمة إلى صيغة By.

نعم. يقترح GitHub Copilot محددات المواقع الثابتة، ويشرح أخطاء NoSuchElementException، ويوصي بعمليات انتظار صريحة، مما يقلل من الاختبارات غير المستقرة على الصفحات الديناميكية.

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