عن المشروع
playwright-rs هي حزمة Rust تقود Microsoft Playwright من Rust باستخدام async/await وTokio. تقدم واجهة برمجة تطبيقات Rust عالية المستوى وآمنة الأنواع مع التواصل عبر JSON-RPC مع نفس خادم Playwright القائم على Node.js المستخدم في الارتباطات الرسمية للغات، تاركة أتمتة المتصفح ومعالجة البروتوكول عبر المتصفحات لمشروع Playwright الأصلي.
المشروع قبل الإصدار 1.0 لكنه يذكر أنه وصل إلى التكافؤ مع واجهة Playwright Python API ويركز على الاستخدام الذاتي وتحسين واجهة البرمجة والأداء قبل الإصدار المستقر. يدعم Chromium وFirefox وWebKit، مع اختبار CI على Linux وmacOS وWindows. تتضمن واجهة البرمجة ميزات موجهة لـ Rust مثل معالجة الأخطاء القائمة على Result، وبانيات الخيارات، وماكرو locator يتم التحقق منه وقت الترجمة.
تشمل سير العمل النموذجية تشغيل المتصفحات، وإنشاء الصفحات، والانتقال إلى عناوين URL، واستخدام محددات المواقع ذات الانتظار التلقائي، وقراءة JSON الاستجابة، والتقاط التتبعات. تدعم ميزات الحزمة الإضافية تقديم تطبيق قيد الاختبار من عملية الاختبار، وتحليل trace-zip، وتأكيدات فرق لقطات الشاشة، واختيار خلفية TLS والتشفير، وأداة CLI مستقلة لتثبيت المتصفح. توفر الحزمة أيضاً Browser::bind وBrowser::unbind لعرض متصفح تم تشغيله من Rust للعملاء الخارجيين مثل حزمة Playwright MCP، أو أدوات CLI، أو أدوات الوكلاء.
يتم تثبيت ثنائيات المتصفح عبر الحزمة بحيث تتطابق مع مشغل Playwright المرفق. يتم تجميع المشغل أثناء البناء الأول ويتضمن وقت تشغيل Node.js الخاص به؛ تتوفر متغيرات البيئة لتخطي التنزيلات أو تكوين التخزين المؤقت. يحتوي المستودع أيضاً على Agent Skill لأدوات البرمجة بالذكاء الاصطناعي المتوافقة، مع إرشادات حول التبعيات، وتثبيت المتصفح، ونموذج الكائنات، والبانيين، ومحددات المواقع، والانتظار التلقائي، والتقاط التتبعات.
من القيود الموثقة أن WebKit launch_persistent_context لا يعمل على Windows الأصلي بسبب مشكلة في Playwright الأصلي؛ يعمل WebKit غير الدائم هناك، ويمكن للسياقات الدائمة استخدام WSL أو macOS أو Linux. البرنامج مرخص تحت Apache-2.0.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.