6 مستودعات
Implementing web standards to simulate a browser environment on the server side for testing and scraping.
Distinct from Web Browsers: Existing candidates focus on gaming emulators or terminal emulators; this is a full emulation of a web browser's standards and APIs.
Explore 6 awesome GitHub repositories matching web development · Headless Browser Emulation. Refine with filters or upvote what's useful.
jsdom is a Node.js implementation of web standards that functions as a headless browser emulator. It provides a JavaScript execution environment and an HTML and XML parser to simulate a browser environment on the server side, implementing various web APIs and W3C standards. The project distinguishes itself by providing a sandboxed runtime for executing scripts embedded in HTML or external files. It includes specialized polyfills for the Canvas API and manages session state through HTTP cookie management. Its broader capabilities cover network interaction via request interception and resource
Provides a full Node.js implementation of web standards to enable headless browser emulation for testing and scraping.
happy-dom هي محاكاة متصفح بدون واجهة رسومية قائمة على JavaScript ومحرك DOM افتراضي. تنفذ نموذج كائن المستند (DOM) وواجهات برمجة تطبيقات الويب لتنفيذ كود الواجهة الأمامية وتشغيل الاختبارات داخل بيئات غير المتصفح مثل Node.js. يوفر المشروع واجهة برمجية لإنشاء واختبار عناصر مخصصة وهياكل DOM الظل (shadow DOM). يدعم إدارة مثيل الصفحة ذات الحالة لمحاكاة جلسات تصفح متزامنة متعددة ويتضمن ساعة قابلة للبرمجة لمزامنة العمليات غير المتزامنة. يغطي النظام مجموعة واسعة من إمكانيات محاكاة المتصفح، بما في ذلك التلاعب بـ DOM ومراقبة الطفرات، وتنفيذ طلبات الشبكة، وإدارة إعدادات النافذة وأبعاد إطار العرض. كما يسمح بحقن العناصر العالمية القياسية للمتصفح في سياق التنفيذ.
Provides a JavaScript-based headless browser simulation to execute frontend code in non-browser environments.
Mechanize هي مكتبة Ruby لأتمتة متصفح الويب ومحاكاة المتصفح بدون واجهة رسومية (headless). تسمح بالتنقل برمجياً في المواقع الإلكترونية ومحاكاة سلوك الإنسان دون الحاجة إلى واجهة مستخدم رسومية. توفر المكتبة واجهة آلية لملء وإرسال نماذج الويب، بما في ذلك حقول النصوص، ومربعات الاختيار، ورفع الملفات. تدير الجلسات ذات الحالة عن طريق تخزين وإرسال ملفات تعريف الارتباط (cookies) تلقائياً عبر طلبات متعددة للحفاظ على مصادقة المستخدم وهويته. تشمل القدرات الإضافية كشط بيانات الويب (web scraping)، والقدرة على تنزيل محتوى الويب البعيد، والحفاظ على سجل تنقل زمني لتتبع الصفحات التي تمت زيارتها. تقوم المكتبة بتحليل استجابات HTML إلى نموذج كائن منظم لتمكين الاستعلام البرمجي والتفاعل مع عناصر الصفحة.
Emulates a web browser environment to navigate pages and submit forms without a graphical interface.
Flurl هو أداة بناء روابط (URL) بأسلوب fluent وواجهة لعميل HTTP في .NET، مصمم لإنشاء عناوين ويب معقدة وإرسال طلبات عبر واجهة متسلسلة. يعمل كمكتبة لمعالجة الروابط وإطار عمل لمحاكاة HTTP لتسهيل التفاعل مع الشبكة والاختبار. يتميز المشروع بواجهة fluent تسمح بالبناء التزايدي للمسارات، ومعلمات الاستعلام، والأجزاء. يوفر نظام محاكاة مخصص لاعتراض حركة مرور الشبكة الصادرة وإرجاع استجابات محددة مسبقاً، مما يتيح إجراء اختبارات الوحدة المعزولة دون الحاجة إلى خادم مباشر. تشمل إمكانياته الأوسع استهلاك REST API، وإدارة مصادقة الطلبات عبر بيانات الاعتماد الأساسية أو رموز Bearer، ومحاكاة سلوك المتصفح عبر ملفات تعريف الارتباط للجلسة ونماذج HTML. تغطي المكتبة أيضاً تحليل الروابط، والتحقق من صحتها، وترميز المكونات، إلى جانب تنفيذ الطلبات غير المتزامنة وإلغاء تسلسل استجابات JSON.
Emulates browser behavior by managing session cookies and sending HTML form posts.
Behat هو إطار عمل للتطوير القائم على السلوك (BDD) وأداة لأتمتة الاختبار لـ PHP. يعمل كمشغل اختبار Gherkin يقوم بتعيين ملفات الميزات باللغة الطبيعية إلى أساليب PHP قابلة للتنفيذ للتحقق من أن تنفيذ البرنامج يتوافق مع متطلبات العمل. يُمكّن إطار العمل من تحديد سلوك التطبيق باستخدام تنسيق منظم وسهل القراءة للبشر بناءً على قصص المستخدمين، مع دعم كلمات رئيسية مترجمة لأصحاب المصلحة غير الناطقين بالإنجليزية. يتميز بطبقة محاكاة متصفح قائمة على برامج التشغيل للتحقق من واجهة المستخدم وتكاملات متخصصة لنواة Symfony وسير عمل Drupal. تغطي مجموعة الأدوات مجموعة واسعة من القدرات بما في ذلك اختبار الانحدار التلقائي، وأتمتة متصفح الويب، ومعالجة البيانات المعقدة عبر تحويلات الجداول. يوفر واجهة سطر أوامر لتنفيذ الاختبار، وخطافات دورة الحياة للإعداد والتفكيك، ونظام إضافات لتوسيع الوظائف الأساسية بأدوات الطرف الثالث. نتائج التنفيذ متاحة بتنسيقات متعددة، بما في ذلك نص سهل القراءة، و JSON، و JUnit XML.
Simulates user interactions with web pages by controlling a browser through a driver to verify interface behavior.
Robobrowser is a Python web scraping library that provides a headless browser emulator and an HTML DOM parser. It is designed to programmatically navigate websites, interact with HTML forms, and extract data from web pages. The tool includes a web request caching mechanism to store previously fetched web content, reducing network traffic and increasing loading speeds for repeated requests. It covers capabilities for automated web navigation, programmatic web scraping, and web form automation, including the ability to populate input fields and trigger submission events. The system also manage
Implements a programmatic interface that emulates browser behavior and standards for server-side scraping.