عن المشروع
توفر هذه الحزمة عميلاً بلغة PHP لبروتوكول أدوات مطوري Chrome (Chrome DevTools Protocol)، وهي الواجهة المستخدمة للتحكم في متصفحات Chrome/Chromium برمجياً. يتم توزيعها عبر Composer تحت اسم الحزمة jakubkulhan/chrome-devtools-protocol وهي مرخصة بموجب MIT.
القدرات الأساسية الموضحة في ملف README:
- تشغيل عملية Chrome عبر فئة Launcher، مع استخدام كائن Context لتحديد مهلات العمليات (على سبيل المثال مهلة 30 ثانية).
- فتح وتبويبات التفعيل على مثيل تم تشغيله، ثم الحصول على عميل DevTools لهذا التبويب.
- قيادة عمليات الصفحة مثل تمكين نطاق Page، والتنقل إلى عنوان URL، وانتظار حدث التحميل.
- إنتاج مخرجات من الصفحات، بما في ذلك الطباعة إلى PDF والتقاط لقطات شاشة مع تنسيق وجودة قابلين للتكوين.
- إدارة دورة الحياة بشكل صريح: يجب إغلاق عميل DevTools، ويجب إنهاء عملية المتصفح عند الانتهاء.
سياقات المتصفح المعزولة:
تدعم المكتبة سياقات متصفح Chrome الرأسي، الموصوفة بأنها مشابهة لنوافذ التصفح الخفي حيث لا تتم مشاركة ملفات تعريف الارتباط والتخزين المحلي. على عكس نوافذ التصفح الخفي، يمكن أن توجد سياقات معزولة متعددة في وقت واحد. الجلسة التي تم إنشاؤها بهذه الطريقة تنفذ نفس واجهة DevtoolsClientInterface التي يتم إرجاعها بواسطة طريقة devtools() الخاصة بالتبويب.
الاتصال بمتصفح موجود:
يمكن إنشاء مثيل Instance مباشرة من مضيف ومنفذ (على سبيل المثال localhost:9222)، مما يسمح للعميل بالارتباط بمتصفح Chrome قيد التشغيل بالفعل. في هذا الوضع لا يتم بدء عملية جديدة، لذا لا يلزم إغلاق المثيل.
يعرض ملف README أمثلة على الاستخدام بلغة PHP تغطي إنشاء السياق، والتشغيل، ومعالجة التبويبات، واستدعاءات DevTools، والتنظيف. تشير شارات حالة البناء والإصدار المستقر والترخيص إلى CircleCI وPackagist وملف الترخيص على التوالي.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.