pywinauto عبارة عن مجموعة من وحدات python لأتمتة واجهة المستخدم الرسومية لـ Microsoft Windows. في أبسط حالاته، يسمح لك بإرسال إجراءات الماوس ولوحة المفاتيح إلى مربعات الحوار وعناصر التحكم في Windows، ولكنه يدعم إجراءات أكثر تعقيدًا مثل الحصول على البيانات النصية.
التقنيات المدعومة تحت الغطاء: Win32 API ( backend="win32"
؛ المستخدمة بشكل افتراضي)، أتمتة واجهة مستخدم MS ( backend="uia"
). تعمل وحدات محاكاة إدخال المستخدم mouse
keyboard
على كل من نظامي التشغيل Windows وLinux.
فقط قم بتمييز الريبو أو قم بالتبرع.
مساعدتك ذات قيمة لأن هذا مشروع هواية بالنسبة لنا جميعًا: فنحن نقوم بتطوير ميزات جديدة خلال ساعات العمل خارج المكتب.
pip install -U pywinauto
(سيتم تثبيت التبعيات تلقائيًا)إنها بسيطة والنصوص الناتجة سهلة القراءة للغاية. كيف بسيطة؟
from pywinauto . application import Application
app = Application (). start ( "notepad.exe" )
app . UntitledNotepad . menu_select ( "Help->About Notepad" )
app . AboutNotepad . OK . click ()
app . UntitledNotepad . Edit . type_keys ( "pywinauto Works!" , with_spaces = True )
مثال أكثر تفصيلاً لـ explorer.exe
:
from pywinauto import Desktop , Application
Application (). start ( 'explorer.exe "C: \ Program Files"' )
# connect to another process spawned by explorer.exe
# Note: make sure the script is running as Administrator!
app = Application ( backend = "uia" ). connect ( path = "explorer.exe" , title = "Program Files" )
app . ProgramFiles . set_focus ()
common_files = app . ProgramFiles . ItemsView . get_item ( 'Common Files' )
common_files . right_click_input ()
app . ContextMenu . Properties . invoke ()
# this dialog is open in another process (Desktop object doesn't rely on any process id)
Properties = Desktop ( backend = 'uia' ). Common_Files_Properties
Properties . print_control_identifiers ()
Properties . Cancel . click ()
Properties . wait_not ( 'visible' ) # make sure the dialog is closed
pip install -U Pillow
) لتتمكن من استدعاء طريقة capture_as_image()
لعمل لقطة لعنصر التحكم. قم بإجراء جميع الاختبارات: python ./pywinauto/unittests/testall.py
طلبات السحب هي موضع ترحيب كبير. اقرأ دليل المساهمة لمزيد من التفاصيل حول اختبارات الوحدة، واتفاقيات الترميز، وما إلى ذلك.
تمت كتابة Pywinauto لواجهة المستخدم الرسومية الأصلية لنظام التشغيل Windows في البداية بواسطة Mark Mc Mahon . جلب مارك العديد من الأفكار العظيمة إلى الحياة باستخدام قوة بايثون. تم إلهام المساهمين الإضافيين بواجهة برمجة التطبيقات (API) الرائعة حتى يستمر التطوير.
بدءًا من 0.6.0، يتم توزيع pywinauto بموجب ترخيص BSD المكون من 3 فقرات. تم توزيع Pywinauto 0.5.4 وما قبله ضمن LGPL v2.1 أو الإصدارات الأحدث.