بوت تسجيل بيانات في موقع almaviva خلال ثواني قليلة
في هذا المشروع، قمت بتطوير نظام أتمتة كامل لتسهيل عملية حجز المواعيد على موقع إلكتروني خاص بالتأشيرات. الهدف الرئيسي كان جعل العملية أسرع وأكثر فعالية للمستخدمين عبر توفير نظام تلقائي يعمل دون تدخل يدوي.
المهام المنفذة: فتح المتصفح في وضع التصفح الخاص (Private Mode): لضمان الخصوصية والأمان أثناء التعامل مع بيانات حساسة، بدأ النظام بفتح نافذة متصفح فايرفوكس في الوضع الخاص. قمت بدمج خاصية فتح المتصفح الخاص تلقائيًا، والتأكد من أن جميع العمليات تتم داخله لضمان عدم تسجيل بيانات الجلسة.
تسجيل الدخول التلقائي: قمت بتطوير خوارزمية لتعبئة حقول تسجيل الدخول (البريد الإلكتروني وكلمة المرور) تلقائيًا باستخدام Playwright. بعد إدخال البيانات، يتم تفعيل خيار "تذكرني" والنقر على زر "تسجيل الدخول" بشكل تلقائي، مع التأكد من انتظار الصفحة حتى يتم تحميلها بالكامل.
التفاعل مع القوائم المنسدلة واختيار الخيارات المناسبة: بعد تسجيل الدخول، يقوم النظام باختيار المدينة المطلوبة، نوع التأشيرة، وفئة التأشيرة من القوائم المنسدلة الموجودة في الموقع. هذه الخطوة تمت برمجتها للتعامل مع تأخير تحميل الصفحات، حيث ينتظر النظام ظهور الخيارات قبل اختيارها.
اختيار تاريخ الموعد تلقائيًا: قمت ببرمجة النظام لفتح تقويم الموقع واختيار التاريخ المناسب بناءً على التوافر. تمت معالجة التحقق من صحة التاريخ لضمان عدم اختيار أيام غير صالحة. إذا كان التاريخ المطلوب متاحًا، يتم تحديده بنجاح.
إرسال إشعارات فورية عبر WhatsApp: عند اكتشاف مواعيد متاحة، يقوم النظام بإرسال رسالة تنبيه فورية إلى رقم WhatsApp المسجل. هذه الرسائل يتم إرسالها باستخدام Twilio API، وتتضمن تفاصيل الموعد، المدينة، نوع التأشيرة، والوجهة.
تتبع الجلسة بالكامل وتسجيل الأنشطة: استخدمت ميزة Tracing المدمجة في Playwright لتسجيل الجلسة بأكملها، مما أتاح حفظ جميع الأنشطة التي تمت خلال عملية الحجز. يتم حفظ ملف تتبع كامل يتضمن لقطات الشاشة، تفاصيل النقرات، والمشاكل التي قد تظهر، مما يوفر تحليلاً شاملاً للجلسة ويتيح اكتشاف الأخطاء بسهولة.
إعادة المحاولة التلقائية: إذا لم تكن هناك مواعيد متاحة، يقوم النظام بإعادة محاولة البحث كل 5 دقائق تلقائيًا، بدون الحاجة لتدخل يدوي. هذه الميزة تضمن أن المستخدم سيحصل على إشعار بمجرد توفر المواعيد.
التحديات التي تم التغلب عليها: التعامل مع الاختيارات الديناميكية في الموقع (مثل القوائم المنسدلة التي تظهر بناءً على خيارات سابقة). ضمان الاستقرار في حالة عدم توفر المواعيد، مع إعادة المحاولة الدورية. معالجة الأخطاء التي قد تحدث بسبب تغييرات في الموقع، مثل تعديل موقع الأزرار أو التأخير في تحميل البيانات. توفير خصوصية عالية عبر استخدام وضع التصفح الخاص (Private Mode). التقنيات والأدوات المستخدمة: Playwright (Python): لأتمتة التفاعل مع المتصفح والموقع الإلكتروني. Twilio API: لإرسال التنبيهات الفورية عبر WhatsApp. Firefox Private Mode: للحفاظ على الخصوصية والأمان أثناء استخدام الموقع. Playwright Tracing: لتسجيل الجلسة بالكامل وتحليل التفاعلات التي تمت داخل المتصفح. النتيجة النهائية: بفضل هذا النظام المتكامل، تم تبسيط عملية حجز المواعيد بشكل ملحوظ، حيث أصبح بالإمكان البحث عن المواعيد وتسجيل الدخول والتفاعل مع الموقع بالكامل بشكل تلقائي، مع إرسال إشعارات فورية عند توفر المواعيد، مما يوفر الوقت والجهد للمستخدمين.
رابط المشروع https://mostaql.com/portfolio/2469403