نسخة تجريبية مجانية للوكيل

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

إعداد السيلينيوم مع بايثون

قبل أن نتعمق في العمل مع الكائنات والنماذج، دعونا نبدأ بإعداد السيلينيوم في بايثون. فيما يلي الخطوات الأساسية للبدء:

تثبيت السيلينيوم:

pip install selenium

تنزيل برنامج تشغيل الويب: تأكد من أن لديك برنامج WebDriver الصحيح لمتصفحك (على سبيل المثال، ChromeDriver لـ Google Chrome).

التنقل إلى صفحة ويب

للبدء، نحتاج إلى الانتقال إلى صفحة ويب. في هذا المثال، سوف نستخدم يوتيوب.

from selenium import webdriver

# Initialize WebDriver
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

# Navigate to YouTube
driver.get('https://www.youtube.com')

التفاعل مع الكائنات الموجودة على الصفحة

البحث عن زر والنقر عليه

إحدى المهام الشائعة في أتمتة الويب هي النقر فوق الزر. إليك كيفية العثور على الزر والنقر فوقه:

# Find the sign-in button by its XPath
sign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a')

# Click the button
sign_in_button.click()

وملء استمارات

بعد ذلك، دعونا نملأ نموذجًا، مثل إدخال اسم مستخدم في نموذج تسجيل الدخول:

# Find the username input field
username_field = driver.find_element_by_xpath('//*[@id="identifierId"]')

# Enter text into the username field
username_field.send_keys('your_username')

# Find and click the next button
next_button = driver.find_element_by_xpath('//*[@id="identifierNext"]/div/button')
next_button.click()

استخراج النص والسمات

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

# Find a video title
video_title = driver.find_element_by_xpath('//*[@id="video-title"]')

# Extract and print the text
print(video_title.text)

# Extract and print an attribute
print(video_title.get_attribute('href'))

تمرير الصفحة

في بعض الأحيان، تحتاج إلى تمرير الصفحة للوصول إلى العناصر غير المرئية على الفور.

from selenium.webdriver.common.keys import Keys

# Scroll down the page
html = driver.find_element_by_tag_name('html')
html.send_keys(Keys.PAGE_DOWN)

العمل مع عناصر متعددة

إذا كنت بحاجة إلى التفاعل مع عناصر متعددة، مثل قائمة مقاطع الفيديو، فيمكنك استخدام حلقة:

# Find all video titles on the page
video_titles = driver.find_elements_by_xpath('//*[@id="video-title"]')

# Print the titles of all videos
for title in video_titles:
    print(title.text)

الجداول لفهم أفضل

لتصور عملية استخراج البيانات بشكل أفضل، دعونا نستخدم تنسيق الجدول.

مهمةمقتطف الكود
انتقل إلى موقع YouTubedriver.get('https://www.youtube.com')
زر البحثsign_in_button = driver.find_element_by_xpath('//*[@id="buttons"]/ytd-button-renderer/a')
اضغط على الزرsign_in_button.click()
املأ النموذجusername_field.send_keys('your_username')
استخراج النصvideo_title.text
استخراج السمةvideo_title.get_attribute('href')
صفحة التمريرhtml.send_keys(Keys.PAGE_DOWN)
عناصر متعددةvideo_titles = driver.find_elements_by_xpath('//*[@id="video-title"]')

خاتمة

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

احصل على الوكيل التجريبي المجاني الآن!

المشاركات الاخيرة

التعليقات (0)

لا توجد تعليقات هنا حتى الآن، يمكنك أن تكون الأول!

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

اختر وشراء الوكيل

وكلاء مركز البيانات

وكلاء الدورية

وكلاء UDP