DrissionPage هي صفحة مكونة من برنامج التشغيل والجلسة. إنها أداة تكامل عمليات أتمتة الويب القائمة على لغة بايثون.
يستخدم وضع POM لتغليف الأساليب الشائعة للصفحات والعناصر، ويأتي مع مجموعة من تركيبات تحديد موضع العناصر البسيطة والبديهية والأنيقة، والتي تحقق التبديل السلس بين المتصفحات والطلبات، مع مراعاة راحة أتمتة المتصفح والكفاءة العالية الكفاءة، والأفضل من ذلك، أن استخدامه موجز جدًا وسهل الاستخدام، مع كود أقل وسهل للمبتدئين.
عند استخدام طلبات جمع البيانات، عند مواجهة موقع ويب تريد تسجيل الدخول إليه، يتعين عليك تحليل حزم البيانات وكود مصدر JS، وإنشاء طلبات معقدة، وغالبًا ما يتعين عليك التعامل مع أساليب مكافحة الزحف مثل رموز التحقق، وتشويش JS ومعلمات التوقيع مرتفعة. إذا تم إنشاء البيانات عن طريق حساب JS، فيجب إعادة إنتاج عملية الحساب، مما يؤدي إلى تجربة سيئة وانخفاض كفاءة التطوير.
يمكن أن يؤدي استخدام المتصفح إلى تجاوز هذه المخاطر إلى حد كبير، لكن المتصفح ليس فعالاً للغاية. لذلك، تقوم هذه المكتبة بدمجها في مكتبة واحدة، وتبديل الأوضاع المقابلة عند الحاجة، وتوفر طريقة استخدام متوافقة مع البشر لتحسين كفاءة التطوير والتشغيل.
بالإضافة إلى دمج الاثنين، تقوم هذه المكتبة أيضًا بتغليف الوظائف شائعة الاستخدام في وحدات صفحة الويب وتوفر عمليات وبيانات بسيطة للغاية، عند استخدامها لعمليات صفحة الويب الآلية، فإنها تقلل من الحاجة إلى مراعاة التفاصيل والتركيز على تنفيذ الوظيفة، مما يجعلها أكثر مريحة للاستخدام.
اجعل كل شيء بسيطًا، وحاول توفير طرق استخدام بسيطة ومباشرة، وكن أكثر ودية مع المبتدئين.
لقد تطرق المؤلف إلى مطبات لا تعد ولا تحصى ولخص كل التجارب في هذه المكتبة. لقد تم دمج العديد من الوظائف العملية، وتم دمج الوظائف شائعة الاستخدام وتحسينها.
مميزة
1. الكود متكامل للغاية، مع كود موجز باعتباره المسعى الأول.
2. يمكن تبديل كائن الصفحة بين المتصفح والطلبات حسب الرغبة، ويتم الاحتفاظ بحالة تسجيل الدخول.
3. بناء جملة بسيط للغاية ولكنه قوي لتحديد موضع العناصر، ويدعم عمليات السلسلة، والتعليمات البرمجية موجزة للغاية.
4. يوفر الوضعان واجهات برمجة تطبيقات متسقة وتجربة استخدام متسقة.
5. تصميم أنساني، يدمج العديد من الوظائف العملية، مما يقلل بشكل كبير من عبء عمل التطوير.
1. يمكنك إعادة استخدام المتصفح المفتوح في كل مرة تقوم فيها بتشغيل البرنامج. على سبيل المثال، قم بتعيين صفحة الويب يدويًا على حالة معينة ثم استخدم برنامجًا لتولي الأمر، أو قم بمعالجة تسجيل الدخول يدويًا ثم استخدم البرنامج للزحف إلى المحتوى. ليست هناك حاجة لبدء المتصفح من الصفر في كل مرة، وهو أمر مريح للغاية.
2. استخدم ملفات ini لحفظ التكوينات شائعة الاستخدام واستدعائها تلقائيًا، كما أنها توفر واجهة برمجة تطبيقات إعداد ملائمة للابتعاد عن عناصر التكوين المعقدة.
3. يدعم بناء جملة الموضع الموجز للغاية تحديد موضع العناصر مباشرة عن طريق النص والحصول مباشرة على العناصر الشقيقة والعناصر الأصلية قبل وبعد.
4. أداة تنزيل قوية، يمكنك الاستمتاع بوظيفة التنزيل السريعة والموثوقة عند تشغيل المتصفح.
5. تدعم أداة التنزيل طرقًا متعددة للتعامل مع تعارضات أسماء الملفات، وإنشاء المسارات المستهدفة تلقائيًا، وقطع الاتصال وإعادة المحاولة، وما إلى ذلك.
6. يحتوي عنوان URL للوصول على وظيفة إعادة المحاولة التلقائية، ويمكن ضبط الفاصل الزمني والمهلة.
7. عند الوصول إلى صفحات الويب، يمكن التعرف على الترميز تلقائيًا دون الحاجة إلى إعداد يدوي.
8. تقوم معلمات الارتباط تلقائيًا بإنشاء سمات المضيف والمحيل بشكل افتراضي.
9. يمكنك إخفاء أو عرض نافذة عملية المتصفح مباشرة في أي وقت، دون أن تكون مقطوعة الرأس أو مصغرة.
10. يمكنه تنزيل برنامج chromedriver المناسب تلقائيًا، مما يزيل التكوين المزعج.
11. يحتوي عنصر البحث في الوضع d على انتظار مدمج، ويمكن ضبط وقت الانتظار العالمي أو وقت انتظار البحث الفردي بشكل تعسفي.
12. يدمج عنصر النقر طريقة النقر js، ويمكن تبديل طريقة النقر بمعلمة واحدة.
13. تدعم النقرات عمليات إعادة المحاولة الفاشلة، والتي يمكن استخدامها لضمان النقرات الناجحة، وتحديد ما إذا كانت طبقة قناع صفحة الويب ستختفي، وما إلى ذلك.
14. يمكن أن يحدد إدخال النص تلقائيًا ما إذا كان ناجحًا ثم يعيد المحاولة لتجنب الإدخال غير الصالح أو المسح في ظل ظروف معينة.
15. يدعم الوضع d xpath كامل الميزات، والذي يمكنه الحصول مباشرة على سمة عنصر ما ولا يحتوي السيلينيوم على هذه الوظيفة أصلاً.
16. يدعم الاكتساب المباشر لجذر الظل، وتشغيل العناصر الموجودة أسفله مثل العناصر العادية.
17. يدعم الوصول المباشر إلى محتوى العناصر الزائفة بعد وقبل.
18. يمكنك استخدام > مباشرة أسفل العنصر للحصول على العناصر الفرعية المباشرة للعنصر الحالي باستخدام محدد CSS. طريقة الكتابة هذه غير مدعومة أصلاً.
19. يمكنك ببساطة استخدام lxml لتحليل صفحات أو عناصر الوضع d، وتحسنت سرعة الزحف إلى بيانات الصفحة المعقدة بشكل كبير.
20. تم تحويل بيانات المخرجات ومعالجتها للتنضيد الأساسي لتقليل ازدواجية العمل.
21. يمكن ربطه بسهولة بالسيلينيوم أو طلب كود أصلي لتسهيل ترحيل المشروع.
22. باستخدام التعبئة والتغليف في وضع POM، يمكن استخدامه مباشرة للاختبار وسهل التوسيع.
23. تكوين الوضع d متوافق مع debugger_address والمعلمات الأخرى في نفس الوقت، لكن التكوين الأصلي غير متوافق.
24. هناك الكثير مما لم يتم ذكره هنا...