أتمتة تطبيق Windows داخلي قديم لا يملك API
متى تستخدمه: لن يعرض مورِّد التطبيق الداخلي API؛ تحتاج من Claude إدخال البيانات اليومية.
المتطلبات الأساسية
- Windows 10/11 مع التطبيق المستهدف مُثبَّتاً — تثبيت قياسي
- Python 3.10+ لـ uvx — winget install Python.Python.3.12
الخطوات
-
فحص شجرة UILaunch the app
BookingSystem.exe, then dump the UI tree of the main window. I want to see automation IDs.✓ تم النسخ→ تُظهر الشجرة عناصر التحكم بـ AutomationId — لا مجرد أزرار مجهولة -
تشغيل المسار الطبيعي مرة واحدةNow: open the New Booking dialog, fill customer 'Acme Inc', date 2026-05-12, save. Take a screenshot at the end.✓ تم النسخ→ الحجز محفوظ؛ لقطة الشاشة تؤكد
-
التعميم والتكرارRead /work/bookings.csv. For each row, repeat the booking flow. Save screenshots into /work/runs/.✓ تم النسخ→ كل صف مُعالَج؛ لقطة شاشة لكل حجز
النتيجة: أتمتة بدون واجهة مستخدم لتطبيق المورِّد، قابلة للإعادة من CSV.
المزالق
- التطبيق يستخدم عناصر تحكم مخصصة (مثلاً WinForms ListView بلا AutomationId) — ارجع إلى النقر بالإحداثيات على موضع ثابت في النافذة؛ وثِّق هشاشة هذا الأسلوب
- نافذة حوار مشروط تخطف الفوكس في منتصف الحلقة — تحقق دائماً من النافذة النشطة قبل send_keys؛ أوقف إذا ظهر ما غير متوقع