PyAutoGUI – أتمتة واجهة المستخدم

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

مقدمة

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

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

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

ما هي PyAutoGUI

PyAutoGUI هي مكتبة بايثون لأتمتة واجهة المستخدم الرسومية (GUI)، أنشأها Al Sweigart. توفر واجهة برمجية بسيطة لتنفيذ الإجراءات التي يقوم بها المستخدم عادةً: تحريك الماوس، النقر، كتابة النص، الضغط على المفاتيح، والتقاط لقطات الشاشة.

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

الإمكانيات الرئيسية لـ PyAutoGUI

التحكم في الماوس

  • تحريك المؤشر حسب الإحداثيات
  • تنفيذ أنواع مختلفة من النقرات
  • عمليات السحب والإفلات (drag and drop)
  • تمرير المحتوى

العمل مع لوحة المفاتيح

  • إدخال النص في الحقول النشطة
  • الضغط على مفاتيح فردية
  • تنفيذ اختصارات لوحة المفاتيح
  • دعم المفاتيح الخاصة

العمل مع الشاشة

  • التقاط لقطات شاشة كاملة أو جزئية
  • الحصول على معلومات دقة الشاشة
  • تحليل ألوان البكسل
  • البحث عن الصور على الشاشة

الأمان والتحكم

  • نظام أمان مدمج (fail-safe)
  • ضبط فترات التوقف بين الإجراءات
  • معالجة الاستثناءات

التثبيت والإعداد

التثبيت الأساسي

pip install pyautogui

التبعيات الإضافية

للحصول على وظائف متقدمة، يُوصى بتثبيت:

pip install pillow  # للعمل مع الصور
pip install opencv-python  # للبحث الدقيق عن الصور
pip install pygetwindow  # للتحكم في النوافذ
pip install pymsgbox  # لمربعات الحوار
pip install pyperclip  # للعمل مع الحافظة

الاستيراد في الكود

import pyautogui
import time

الهيكل والإمكانيات الأساسية

تتفاعل PyAutoGUI مع نظام التشغيل مباشرة، محاكيةً الإجراءات الحقيقية للمستخدم: النقرات، الحركات، الضغط على المفاتيح، التقاط الشاشة، والبحث عن القوالب على الشاشة.

الوحدات الوظيفية الرئيسية

  1. التحكم في الماوس — تحريك المؤشر، النقرات، التمرير
  2. العمل مع لوحة المفاتيح — إدخال النص، الضغط على المفاتيح
  3. العمل مع الشاشة ولقطات الشاشة — التقاط الشاشة، تحليل البكسل
  4. البحث عن الصور والقوالب — البحث التلقائي عن عناصر الواجهة
  5. مربعات الحوار — التفاعل مع المستخدم
  6. أنظمة الأمان — الحماية من التنفيذ العرضي

التحكم في الماوس

الحصول على معلومات الماوس

# الحصول على الموضع الحالي للمؤشر
x, y = pyautogui.position()
print(f"المؤشر في: ({x}, {y})")

# الحصول على حجم الشاشة
width, height = pyautogui.size()
print(f"دقة الشاشة: {width}x{height}")

# التحقق من وجود المؤشر على الشاشة
if pyau                    

توصيات