دروس محرّك الدمى - دليل تعليمي ممتاز لدرس محرّك الدمى 1 و 2

محرك العرائس هو إطار جافا مفتوح المصدر تم تطويره باستخدام مكتبة node-js. محرك العرائس لديه القدرة على العمل كأداة تجريف على شبكة الإنترنت. يمكن استخدامه أيضًا كاختبار أتمتة للتطبيقات المستندة إلى الويب تمامًا مثل برنامج تشغيل الويب السيلينيوم. تزداد شعبية محرك العرائس بسرعة لأتمتة الاختبار. المتطلبات المسبقة للتجول في البرنامج التعليمي لمحرك العرائس هي المعرفة الأساسية بسطر الأوامر وجافا سكريبت ومفهوم OOP وبنية HTML DOM. الكامل البرنامج التعليمي محرك العرائس يتم توزيعها على الموضوعات المذكورة في جدول المحتويات أدناه. 

دروس محرك العرائس

البرنامج التعليمي Tosca # 1: نظرة عامة على محرك العرائس

توسكا البرنامج التعليمي # 2: متغيرات بيئة محرك العرائس

توسكا البرنامج التعليمي # 3: نظرة عامة على آلية كشط ويب محرك العرائس وأتمتة اختبار محرك العرائس

توسكا البرنامج التعليمي # 4: قم بتثبيت محرك العرائس 

في هذا المقال من دروس محرك العرائس، سنشرح لمحة عامة عن محرك العرائس ومتغيرات بيئة محرك العرائس. 

نظرة عامة على محرك العرائس

محرك العرائس هو إطار جافا مفتوح المصدر تم تطويره باستخدام مكتبة node-js. يستطيع برنامج Puppeteer التحكم في متصفح Chrome عبر بروتوكول devtool بمساعدة واجهة التطبيق عالية المستوى (API). محرك الدمى قادر على التحكم في كل من متصفحات الكروم ذات الرأس و بدون رأس. 

تم تقديم إطار عمل محرك العرائس بواسطة Google. حسب الوظيفة ، إنه ليس مفهومًا جديدًا. لكنها تجعل العمل أسهل. بشكل أساسي ، يلخص قائمة الأنشطة من خلال حزمة مضغوطة.

دروس محرك العرائس - محرك العرائس
دروس محرك العرائس - محرك العرائس

كيف يعمل محركي الدمى؟

  • يستخدم محرك العرائس مكتبة Node JS.
  • تسمح Node JS باستخدام واجهات برمجة التطبيقات عالية المستوى.
  • واجهات برمجة التطبيقات قادرة على التحكم في متصفح Chrome عبر بروتوكول devtool.
  • بشكل افتراضي ، يعمل Puppeteer مع متصفحات Chrome بدون رأس ولكن يمكنه التفاعل مع متصفحات Chrome أيضًا عن طريق تغيير التكوين الافتراضي.

بروتوكول Chrome DevTools:

باستخدام بروتوكول Chrome DevTools ، يمكن لأدوات مثل Puppeteer أن تقوم بفحص المتصفحات التي تعتمد على وميض مثل Chromium و Chrome وما إلى ذلك ، وفحصها وتصحيحها وتوصيفها.

هنا ، يتم تقسيم أدوات المتصفح إلى عدد من المجالات مثل DOM و Debugger و Network وما إلى ذلك. يشرح كل مجال جميع الأوامر المدعومة المختلفة والأحداث التي تم إنشاؤها.

ميزات محرك العرائس:

  • يمكن أتمتة العمليات اليدوية من خلال متصفح Chrome.
  • يمكنه التقاط لقطة شاشة لأي صفحة ويب وإنشاء صورة أو ملف pdf من لقطة الشاشة.
  • يمكن تطوير تطبيق صفحة واحدة للعرض من جانب الخادم باستخدام محرك العرائس.
  • يمكنه أتمتة إرسال نموذج الويب ، واختبار واجهة المستخدم ، وإدخال لوحة المفاتيح ، وما إلى ذلك ، مع نقاط التفتيش.
  • يوفر مزيدًا من التحكم في متصفح Chrome.
  • الوضع الافتراضي مقطوع الرأس سريع جدًا.
  • وهو يدعم تجريف الويب.
  • القدرة على قياس العرض وتوقيت التحميل باستخدام أدوات تحليل أداء Chrome.

محرك العرائس مقابل محرك العرائس:

نظرًا لأن إصدار Puppeteer v1.7.0 ، يتوفر أدناه حزمتان في كل إصدار -

  • حزمة محرك العرائس
  • حزمة محرك العرائس

حزمة محرك العرائس الأساسية:

محرك العرائس هي مكتبة عقدة ذات قاعدة جافا قادرة على تنفيذ أي عملية تدعم بروتوكول DevTools. لا يقوم محرك العرائس بتنزيل Chromium أثناء التثبيت. كمكتبة ، يتم تشغيل Puppeteer-core بالكامل من خلال واجهته البرمجية. أيضًا ، لا يمكن تخصيص ميزات Puppeteer-core بواسطة جميع متغيرات PUPPETEER_ * env. الأمر الأساسي لتثبيت Puppeteer-core - 

npm install puppeteer-core
# or "yarn add puppeteer-core"

عند استخدام محرك العرائس ، ستظهر العبارات المتضمنة على النحو التالي -

const puppeteer = require('puppeteer-core')

متى تستخدم محرك العرائس:

  • لتطوير مشروع Puppeteer لاستخدام متصفح Chrome الحالي عبر بروتوكول DevTools حيث لا يلزم تنزيل كروميوم إضافي.
  • لتطوير منتج أو مكتبة مستخدم نهائي أخرى فوق بروتوكول DevTools. على سبيل المثال ، قد يُنشئ أحد المشروعات مولد لقطة شاشة باستخدام محرك العرائس ويكتب نصًا مخصصًا setup.js يقوم بتنزيل headless_shell بدلاً من Chromium لتوفير مساحة التخزين.

باقة محرك الدمى:

العرائس هو منتج كامل لأتمتة متصفح Chrome أو Chromium. أثناء التثبيت ، يقوم بتنزيل أحدث إصدار من Chromium ، وبعد ذلك ، تم تشغيله بواسطة محرك العرائس. كمنتج للمستخدم النهائي ، يدعم Puppeteer جميع متغيرات PUPPETEER_ * env لتخصيص سلوكه. الأمر الأساسي لتثبيت Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

عند استخدام محرك العرائس ، قم بتضمين العبارات التي ستبدو كما يلي -

puppeteer = require(‘puppeteer’)

الفرق بين محرك العرائس و محرك العرائس:

  • لا يقوم برنامج Puppeteer-core بتنزيل متصفح Chromium تلقائيًا أثناء التثبيت.
  • لا يعتبر محرك العرائس جميع متغيرات PUPPETEER_ * env.
  • في معظم المشاريع ، نستخدم حزمة منتج Puppeteer.

كروم مقطوع الرأس:

الكروم بدون رأس يعني أن محرك الدمى يتفاعل مع متصفح الكروم كتطبيق في الخلفية ، مما يعني أن واجهة مستخدم الكروم غير مرئية على الشاشة. افتراضيًا ، يقوم برنامج Puppeteer بتشغيل التطبيق باعتباره كروم مقطوع الرأس. عينة رمز لتشغيل Chromeless Chrome - 

في هذا المثال ، نفتح الكروم بدون رأس ، أي أن واجهة مستخدم Chrome لن تكون مرئية. يمكن القيام بذلك عن طريق تمرير العلم مقطوعة الرأس كما هو الحال بالنسبة لطريقة إطلاق الدمى المتحركة ().

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

رأس كروم:

Chrome Headful يعني أن محرك الدمى يتفاعل مع متصفح الكروم الذي تظهر فيه واجهة مستخدم الكروم على الشاشة. افتراضيًا ، يقوم برنامج Puppeteer بتشغيل التطبيق باعتباره كروم مقطوع الرأس. عينة رمز لتشغيل Headful Chrome - 

في هذا المثال ، نفتح الكروم المرئي لنا. يمكن القيام بذلك عن طريق تمرير العلم مقطوعة الرأس على أنه خطأ في طريقة Puppeteer. Launch ().

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false});
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

متغيرات بيئة محرك العرائس

يعمل محرك العرائس مع متغيرات البيئة المحددة مسبقًا لدعم عملياته. إذا لم يعثر برنامج Puppeteer على متغيرات البيئة أثناء التثبيت ، فسيتم استخدام متغير منخفض من هذه المتغيرات من تكوين npm (يدير ملف تكوينات NPM). لم يتم النظر في متغيرات البيئة من قبل حزمة Puppeteer-core. أهم متغيرات بيئة محرك العرائس هي - 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: يوجه عدم تنزيل Chromium المجمّع أثناء خطوة التثبيت.
  • PUPPETEER_DOWNLOAD_HOST: يستبدل بادئة URL التي يمكن استخدامها لتنزيل Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: يقوم بالكتابة فوق مسار مجلد التنزيل. مسار الافتراضيات هو - " /.local-chromium/ "أين هو جذر الحزمة لمحرك الدمى.
  • HTTP_PROXY و HTTPS_PROXY و NO_PROXY: تحدد هذه المتغيرات إعدادات الخادم الوكيل لتنزيل Chromium أثناء التثبيت.
  • PUPPETEER_CHROMIUM_REVISION: وهي تحدد إصدارًا محددًا من Chromium ليستخدمه محرك العرائس.
  • PUPPETEER_EXECUTABLE_PATH: وهي تحدد مسارًا قابلاً للتنفيذ لاستخدامه في طريقة تشغيل Puppeteer. 
  • PUPPETEER_PRODUCT: يحدد المتصفح الذي سيستخدمه محرك العرائس. يجب أن تكون القيمة إما chrome أو Firefox. 

الخلاصة:

في هذه المقالة التمهيدية حول البرنامج التعليمي لمحرك العرائس ، تعلمنا عن نظرة عامة على محرك العرائس ومتغيرات البيئة لمحرك الدمى. في المقالة التالية من البرنامج التعليمي محرك العرائس، سوف نتعرف على نظرة عامة حول آلية كشط الويب واختبار محرك العرائس. من فضلك اضغط هنا لزيارة البوابة المرجعية لهذا البرنامج التعليمي لمحرك العرائس. أيضا ، الرجاء الضغط هنا لتعلم السيلينيوم من LambdaGeeks.

اترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المشار إليها إلزامية *

انتقل إلى الأعلى