متصفح بدون واجهة رسومية
المتصفح بدون واجهة رسومية هو متصفح ويب لا يحتوي على واجهة مستخدم رسومية .
توفر المتصفحات غير الرسومية تحكمًا آليًا في صفحات الويب في بيئة مشابهة للمتصفحات الشائعة، ولكنها تُنفذ عبر واجهة سطر الأوامر أو باستخدام الاتصال الشبكي. وهي مفيدة بشكل خاص لاختبار صفحات الويب، إذ تستطيع عرض وفهم لغة HTML بنفس طريقة المتصفح، بما في ذلك عناصر التنسيق مثل تخطيط الصفحة، والألوان، واختيار الخطوط، وتنفيذ جافا سكريبت و Ajax، وهي ميزات غير متوفرة عادةً عند استخدام طرق الاختبار الأخرى. [ 1 ]
منذ الإصدار 59 من جوجل كروم [ 2 ] [ 3 ] والإصدار 56 [ 4 ] من فايرفوكس [ 5 ]، أصبح التحكم عن بُعد بالمتصفح مدعومًا بشكلٍ أصلي. وقد جعل هذا الأمر الجهود السابقة غير مجدية، ولا سيما فانتوم جيه إس [ 6 ] .
حالات الاستخدام
تتمثل حالات الاستخدام الرئيسية للمتصفحات بدون واجهة رسومية فيما يلي:
- أتمتة الاختبارات في تطبيقات الويب الحديثة ( اختبار الويب )
- التقاط صور للشاشة لصفحات الويب.
- تشغيل اختبارات آلية لمكتبات جافا سكريبت.
- أتمتة التفاعل بين صفحات الويب.
استخدامات أخرى
تُعدّ المتصفحات التي تعمل بدون واجهة رسومية مفيدة أيضاً في استخراج البيانات من مواقع الويب . وقد صرّحت جوجل في عام 2009 بأن استخدام متصفح بدون واجهة رسومية يمكن أن يساعد محرك البحث الخاص بها في فهرسة المحتوى من مواقع الويب التي تستخدم تقنية Ajax. [ 7 ]
كما أُسيء استخدام المتصفحات التي تعمل بدون واجهة رسومية بطرق مختلفة:
- شن هجمات DDoS على مواقع الويب. [ 8 ]
- زيادة مرات ظهور الإعلانات. [ 9 ]
- أتمتة مواقع الويب بطرق غير مقصودة [ 10 ] على سبيل المثال لحشو بيانات الاعتماد . [ 11 ]
مع ذلك، لم تجد دراسة لحركة مرور المتصفحات في عام 2018 أي تفضيل من جانب الجهات الخبيثة للمتصفحات التي تعمل بدون واجهة رسومية. [ 3 ] لا يوجد ما يشير إلى أن المتصفحات التي تعمل بدون واجهة رسومية تُستخدم بشكل أكثر تكرارًا من المتصفحات التي تعمل بواجهة رسومية لأغراض خبيثة، مثل هجمات الحرمان من الخدمة الموزعة (DDoS) أو حقن SQL أو هجمات البرمجة النصية عبر المواقع .
الاستخدام
بما أن العديد من المتصفحات الرئيسية تدعم وضع التشغيل بدون واجهة رسومية (headless mode) بشكل أصلي عبر واجهات برمجة التطبيقات (APIs) ، فإن بعض البرامج متوفرة لأتمتة المتصفح من خلال واجهة موحدة. وتشمل هذه البرامج ما يلي:
- Selenium WebDriver – تطبيق متوافق مع معايير W3C لـ WebDriver [ 12 ]
- Playwright – مكتبة Node.js لأتمتة Chromium و Firefox و WebKit [ 13 ]
- Puppeteer – مكتبة Node.js لأتمتة Chrome أو Firefox [ 14 ] [ 15 ]
أتمتة الاختبار
تتضمن بعض برامج وأطر عمل أتمتة الاختبار متصفحات بدون واجهة رسومية كجزء من أدوات الاختبار الخاصة بها. [ 3 ]
- يستخدم برنامج Capybara التصفح بدون واجهة رسومية، إما عبر WebKit أو Headless Chrome، لمحاكاة سلوك المستخدم في بروتوكولات الاختبار الخاصة به. [ 16 ]
- يستخدم Jasmine برنامج Selenium افتراضيًا، ولكنه يستطيع استخدام WebKit أو Headless Chrome لتشغيل اختبارات المتصفح. [ 17 ]
- Cypress ، إطار عمل لاختبار الواجهة الأمامية
- QF-Test ، أداة برمجية للاختبار الآلي للبرامج عبر واجهة المستخدم الرسومية حيث يمكن أيضًا استخدام متصفح بدون واجهة رسومية للاختبار.
البدائل
ثمة نهج آخر يتمثل في استخدام برامج توفر واجهات برمجة تطبيقات المتصفح. على سبيل المثال، يوفر Deno واجهات برمجة تطبيقات المتصفح كجزء من تصميمه. أما بالنسبة لـ Node.js ، فإن jsdom [ 18 ] هو المزود الأكثر شمولاً. في حين أن معظمها يدعم ميزات المتصفح الشائعة (تحليل HTML، وملفات تعريف الارتباط ، وطلبات XHR ، وبعض أكواد JavaScript، إلخ)، إلا أنها لا تعرض نموذج كائن المستند (DOM) ولديها دعم محدود لأحداث DOM . عادةً ما يكون أداؤها أسرع من المتصفحات الكاملة، لكنها غير قادرة على تفسير العديد من مواقع الويب الشائعة بشكل صحيح. [ 19 ] [ 20 ] [ 21 ]
ومن الأمثلة الأخرى HtmlUnit ، وهو متصفح بدون واجهة رسومية مكتوب بلغة جافا. يستخدم HtmlUnit محرك راينو لتوفير دعم جافا سكريبت و Ajax بالإضافة إلى إمكانية العرض الجزئي. [ 22 ] [ 23 ]
قائمة المتصفحات بدون واجهة رسومية
هذه برامج متنوعة توفر واجهات برمجة تطبيقات للمتصفح بدون واجهة رسومية.
- DotNetBrowser هي مكتبة خاصة مبنية على .NET Chromium، توفر وضع العرض خارج الشاشة، ويمكن استخدامها دون تضمين أو عرض نوافذ. [ 24 ] [ 25 ]
- لايت باندا متصفح مفتوح المصدر يعمل بدون واجهة رسومية، مكتوب بلغة زيغ . على عكس المتصفحات التي تعمل بدون واجهة رسومية والمبنية على كروميوم ، فقد طُوّر لايت باندا للعمل بدون واجهة رسومية، ويدعم بروتوكول أدوات مطوري كروم (CDP)، والوصول إلى DOM ، وتنفيذ جافا سكريبت ، ولكنه لا يدعم العرض الرسومي. [ 26 ] [ 27 ]
- SimpleBrowser هو متصفح ويب بدون واجهة رسومية مكتوب بلغة C# ويدعم .NET Standard 2.0 [ 28 ]
- سبلاش هو متصفح ويب بدون واجهة رسومية، مكتوب بلغة بايثون باستخدام محرك تخطيط WebKit عبر Qt . يحتوي على واجهة برمجة تطبيقات HTTP، ودعم برمجة Lua ، وبيئة تطوير متكاملة مدمجة مبنية على IPython (Jupyter). بدأ تطويره في ScrapingHub عام 2013، وهو ممول جزئيًا من وكالة مشاريع الأبحاث الدفاعية المتقدمة (DARPA) . [ 29 ] [ 30 ]
- Zombie.js هي بيئة متصفح محاكاة لـ Node.js. [ 31 ]
كان من بين الجهود السابقة (2008) مشروع envjs من جون ريسيج ، وهو عبارة عن بيئة متصفح محاكاة مكتوبة بلغة جافا سكريبت لمحرك راينو . [ 32 ]
انظر أيضاً
مراجع
- ↑ "ما هو المتصفح بدون واجهة رسومية؟" . arhg.net . 7 أكتوبر 2009.
- ↑ "البدء باستخدام متصفح كروم بدون واجهة رسومية" . developers.google.com . 27 أبريل 2017.
- 1 2 3 بيكرمان، ديما (28 نوفمبر 2018). "متصفح كروم بدون واجهة رسومية: يحبه مهندسو DevOps، وكذلك المخترقون، إليك السبب | إمبيرفا" . مدونة . تم الاطلاع عليه بتاريخ 22 فبراير 2021 .
- ↑ "ملاحظات إصدار فايرفوكس 56" . developer.mozilla.org . 26 فبراير 2023.
- ↑ "وضع التشغيل بدون واجهة رسومية - دعم المتصفح" . developer.mozilla.org . مؤرشف من الأصل بتاريخ 2018-06-03 . تم الاطلاع عليه بتاريخ 2017-08-31 .
- ↑ "البداية السريعة" . phantomjs.org .
- ↑ مولر، جون (2009-10-07). "مدونة جوجل الرسمية لمركز مشرفي المواقع: اقتراح لجعل AJAX قابلاً للزحف" . مدونة جوجل الرسمية لمركز مشرفي المواقع .
- ↑ راولينغز، مات (20 نوفمبر 2013). "استخدام شبكة بوتات متصفح بدون واجهة رسومية في هجوم DDoS استمر 150 ساعة" . مجتمع الأعمال 2 .
- ↑ ميلو الابن، جون ب. (25-03-2014). "حركة مرور الويب غير المرئية تهدد اقتصاد الإنترنت" . ecommercetimes.com .
- ↑ رايوود، دان (2014-04-01). "المتصفحات بدون واجهة رسومية: برامج شرعية تُمكّن من الهجوم" . ITProPortal .
- ↑ مولر، نيل. "حشو بيانات الاعتماد" . owasp.org .
- ↑ شيث، هيمانشو (2020-11-17). "Selenium 4 متوافق الآن مع معايير W3C: كل ما تحتاج إلى معرفته" .
- ↑ "GitHub - Playwright" . GitHub . تم الاسترجاع في 11 أبريل 2021 .
- ↑ "Github - Puppeteer" . GitHub . تم الاسترجاع في 11 أبريل 2021 .
- ↑ "دعم WebDriver ثنائي الاتجاه | Puppeteer" . pptr.dev . تم الاطلاع عليه بتاريخ 24-10-2025 .
- ↑ سيلفا، فرانسيسكو (29 مايو 2019). "من capybara-webkit إلى كروم بدون واجهة رسومية وChromeDriver" . مدونة | Imaginary Cloud . تاريخ الاسترجاع: 22 فبراير 2021 .
- ↑ بينتز، جون. "jasmine-headless-webkit -- أسرع طريقة لتشغيل مواصفات Jasmine الخاصة بك!" . johnbintz.github.io . تم الاطلاع عليه بتاريخ 22-02-2021 .
- ↑ "JSDOM على GitHub - التظاهر بأنه متصفح مرئي" . GitHub . تم الاسترجاع في 18 أبريل 2021 .
- ↑ "assaf/zombie" . GitHub .
- ↑ "ヘルペスが口や目からうつる?感染した時の症状と病院の治療方法とは" . www.envjs.com . مؤرشفة من الأصلي بتاريخ 23-02-2015 . تم الاسترجاع 2015/03/13 .
- ↑ "JavaScriptMVC - EnvJS" . javascriptmvc.com . مؤرشف من الأصل بتاريخ 23-05-2015 . تم الاطلاع عليه بتاريخ 13-03-2015 .
- ↑ مايك بولر. "HtmlUnit – مرحبًا بكم في HtmlUnit" . sourceforge.net .
- ^ "النظام الأساسي (Vaadin 7.3.4 API)" . vaadin.com . 6 نوفمبر 2014.
- ↑ أمثلة على متصفح دوت نت ، فريق التطوير، 12 مارس 2021 ، تم الاطلاع عليه في 12 مارس 2021
- ↑ "DotNetBrowser" . TeamDev. 2021-05-05.
- ↑ "Lightpanda: متصفح بدون واجهة رسومية مصمم للذكاء الاصطناعي والأتمتة" . GitHub . lightpanda-io . تم الاطلاع عليه بتاريخ 12 فبراير 2026 .
- ↑ كروكوفسكي، إيليا (23 أبريل 2026). "لايت باندا: متصفح بدون واجهة رسومية مصمم لوكلاء الذكاء الاصطناعي والأتمتة القابلة للتوسع" . سكرابينغ بي . تم الاسترجاع في 23 مايو 2026 .
- ↑ SimpleBrowserDotNet/SimpleBrowser ، SimpleBrowserDotNet، 10 فبراير 2021 ، تم الاطلاع عليه بتاريخ 22 فبراير 2021
- ↑ "scrapinghub/splash" . GitHub . 20 ديسمبر 2021.
- ↑ "داربا - الكتالوج المفتوح" . مؤرشف من الأصل بتاريخ 28-05-2015 . تم الاطلاع عليه بتاريخ 28-05-2015 .
- ↑ "زومبي" . labnotes.org .
- ↑ ريسيج، جون (2008-10-12). "env-js: بيئة متصفح جافا سكريبت خالصة" – عبر GitHub.
- متصفحات الويب
