Puppeteer Tutorial– Ένας εξαιρετικός οδηγός εκμάθησης του Puppeteer Tutorial 1 & 2

Tutorial Puppeteer - Επισκόπηση Puppeteer

Το Puppeteer είναι ένα πλαίσιο java ανοιχτού κώδικα που έχει αναπτυχθεί με βιβλιοθήκη node-js. Το Puppeteer έχει τη δυνατότητα να λειτουργεί ως εργαλείο ξύσιμο ιστού. Μπορεί επίσης να χρησιμοποιηθεί ως αυτοματοποιημένος έλεγχος για εφαρμογές που βασίζονται στο Διαδίκτυο, όπως το πρόγραμμα οδήγησης ιστού σεληνίου. Η δημοτικότητα του Puppeteer αυξάνεται γρήγορα για αυτοματοποιημένο έλεγχο. Οι προαπαιτούμενες προϋποθέσεις για να διαβάσετε το Puppeteer Tutorial, είναι βασικές γνώσεις της γραμμής εντολών, της JavaScript, της έννοιας OOPs και της δομής HTML DOM. Το πλήρες σεμινάριο Puppeteer διανέμεται σε θέματα που αναφέρονται στον παρακάτω πίνακα περιεχομένου. 

Εκπαιδευτικό κουκλοθέατρο

Εκμάθηση Tosca # 1: Επισκόπηση Puppeteer

Τόσκα φροντιστήριο # 2: Μεταβλητές Περιβάλλοντος Puppeteer

Τόσκα φροντιστήριο # 3: Επισκόπηση αυτοματισμού Puppeteer Web Scraping και Puppeteer Test

Τόσκα φροντιστήριο # 4: Εγκαταστήστε το Puppeteer 

Σε αυτό το άρθρο του Puppeteer Tutorial, θα εξηγήσουμε για την Επισκόπηση Puppeteer και τις Μεταβλητές Περιβάλλοντος Puppeteer. 

Επισκόπηση Puppeteer

Το Puppeteer είναι ένα πλαίσιο java ανοιχτού κώδικα που έχει αναπτυχθεί με βιβλιοθήκη node-js. Το Puppeteer μπορεί να ελέγξει το πρόγραμμα περιήγησης Chrome μέσω του πρωτοκόλλου devtool με τη βοήθεια της διεπαφής εφαρμογών υψηλού επιπέδου (API). Το Puppeteer είναι σε θέση να ελέγχει τόσο τα headful όσο και τα headless προγράμματα περιήγησης χρωμίου. 

Το πλαίσιο Puppeteer εισήχθη από την Google. Σύμφωνα με τη λειτουργικότητα, δεν είναι μια νέα ιδέα. Αλλά διευκολύνει τη δουλειά. Βασικά, συνοψίζει μια λίστα δραστηριοτήτων μέσω ενός συμπαγούς πακέτου.

Tutorial Puppeteer - Puppeteer
Tutorial Puppeteer - Puppeteer

Πώς λειτουργούν οι Puppeteers;

  • Το Puppeteer χρησιμοποιεί τη βιβλιοθήκη Node JS.
  • Το Node JS επιτρέπει τη χρήση API υψηλού επιπέδου.
  • Τα API είναι ικανά να ελέγχουν το πρόγραμμα περιήγησης Chrome μέσω πρωτοκόλλου devtool.
  • Από προεπιλογή, το Puppeteer λειτουργεί με προγράμματα περιήγησης Chrome χωρίς κεφαλή, αλλά μπορεί να αλληλεπιδράσει και με τα περιηγητικά προγράμματα περιήγησης Chrome αλλάζοντας την προεπιλεγμένη διαμόρφωση.

Πρωτόκολλο Chrome DevTools:

Χρησιμοποιώντας το Πρωτόκολλο Chrome DevTools, εργαλεία όπως το Puppeteer έχουν τη δυνατότητα οργάνωσης, επιθεώρησης, εντοπισμού σφαλμάτων και προφίλ των προγραμμάτων περιήγησης που βασίζονται σε φλας, όπως Chromium, Chrome κ.λπ.

Εδώ, η οργάνωση του προγράμματος περιήγησης χωρίζεται σε έναν αριθμό τομέων όπως DOM, Debugger, Network κ.λπ. Κάθε τομέας εξηγεί όλες τις διαφορετικές υποστηριζόμενες εντολές και τα δημιουργημένα συμβάντα.

Χαρακτηριστικά του Puppeteer:

  • Οι μη αυτόματες διαδικασίες μέσω του προγράμματος περιήγησης Chrome μπορούν να αυτοματοποιηθούν.
  • Μπορεί να καταγράφει στιγμιότυπο οθόνης οποιασδήποτε ιστοσελίδας και δημιουργεί την εικόνα ή το αρχείο pdf του στιγμιότυπου οθόνης.
  • Μια εφαρμογή μιας σελίδας μπορεί να αναπτυχθεί απόδοσης διακομιστή χρησιμοποιώντας το Puppeteer.
  • Μπορεί να αυτοματοποιήσει την υποβολή φόρμας ιστού, δοκιμές διεπαφής χρήστη, εισαγωγή πληκτρολογίου κ.λπ., με σημεία ελέγχου.
  • Παρέχει μεγαλύτερο έλεγχο στο πρόγραμμα περιήγησης Chrome.
  • Η προεπιλεγμένη λειτουργία χωρίς κεφαλή είναι πολύ γρήγορη.
  • Υποστηρίζει ξύσιμο ιστού.
  • Δυνατότητα μετρήσεων απόδοσης και φόρτωσης χρονισμού χρησιμοποιώντας εργαλεία ανάλυσης απόδοσης Chrome.

Puppeteer εναντίον Puppeteer-core:

Δεδομένου ότι η έκδοση Puppeteer v1.7.0, κάτω από δύο πακέτα, είναι διαθέσιμα σε κάθε έκδοση -

  • πακέτο puppeteer-core
  • πακέτο κουκλοθέατρου

Πακέτο κουκλοπαίδων:

Κουκλοπαίκτης-πυρήνας είναι μια βιβλιοθήκη κόμβου βάσης java που μπορεί να εκτελέσει οποιαδήποτε λειτουργία που υποστηρίζει το πρωτόκολλο DevTools. Ο Puppeteer-core δεν κάνει λήψη του Chromium κατά την εγκατάσταση. Ως βιβλιοθήκη, το Puppeteer-core οδηγείται πλήρως μέσω της διασύνδεσης μέσω προγραμματισμού. Επίσης, οι δυνατότητες του Puppeteer-core δεν μπορούν να προσαρμοστούν από όλες τις μεταβλητές PUPPETEER_ * env. Η βασική εντολή για εγκατάσταση του Puppeteer-core - 

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

Όταν χρησιμοποιείτε το puppeteer-core, συμπεριλάβετε δηλώσεις θα είναι όπως παρακάτω -

const puppeteer = require('puppeteer-core')

Πότε να χρησιμοποιήσετε το Puppeteer-Core:

  • Για να αναπτύξετε το έργο Puppeteer για να χρησιμοποιήσετε το υπάρχον πρόγραμμα περιήγησης Chrome μέσω του πρωτοκόλλου DevTools όπου δεν απαιτείται πρόσθετη λήψη χρωμίου.
  • Για να αναπτύξετε ένα άλλο προϊόν ή βιβλιοθήκη τελικών χρηστών πάνω από το πρωτόκολλο DevTools. Για παράδειγμα, ένα έργο μπορεί να δημιουργήσει μια γεννήτρια οθόνης χρησιμοποιώντας το puppeteer-core και να γράψει ένα προσαρμοσμένο script setup.js που κατεβάζει headless_shell αντί για Chromium για εξοικονόμηση χώρου αποθήκευσης.

Πακέτο κουκλοπαίδων:

Κουτάβι είναι ένα πλήρες προϊόν για τον αυτοματισμό του προγράμματος περιήγησης Chrome ή του Chromium. Κατά τη διάρκεια της εγκατάστασης, πραγματοποιεί λήψη της τελευταίας έκδοσης του Chromium και μετά από αυτό, καθοδηγείται από το κουκλοθέατρο. Ως προϊόν τελικού χρήστη, το Puppeteer υποστηρίζει όλες τις μεταβλητές PUPPETEER_ * env για να προσαρμόσει τη συμπεριφορά του. Η βασική εντολή για εγκατάσταση του Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

Όταν χρησιμοποιείτε το Puppeteer, συμπεριλάβετε δηλώσεις που θα μοιάζουν παρακάτω -

puppeteer = require(‘puppeteer’)

Διαφορά μεταξύ Puppeteer και Puppeteer-core:

  • Το Puppeteer-core δεν κατεβάζει αυτόματα το πρόγραμμα περιήγησης Chromium κατά την εγκατάσταση.
  • Το puppeteer-core δεν λαμβάνει υπόψη όλες τις μεταβλητές PUPPETEER_ * env.
  • Στα περισσότερα έργα, χρησιμοποιούμε το πακέτο προϊόντων Puppeteer.

Ακέφαλο Chrome:

Το Headless chrome σημαίνει ότι το Puppeteer αλληλεπιδρά με ένα πρόγραμμα περιήγησης chrome ως εφαρμογή φόντου, πράγμα που σημαίνει ότι το περιβάλλον χρήστη του Chrome δεν είναι ορατό στην οθόνη. Από προεπιλογή, το Puppeteer ξεκινά την εφαρμογή ως χρώμιο χωρίς κεφάλι. Δείγμα κώδικα για εκκίνηση του Headless Chrome - 

Σε αυτό το παράδειγμα, ανοίγουμε το headless chrome, δηλαδή, το Chrome UI δεν θα είναι ορατό. Αυτό μπορεί να γίνει μεταβιβάζοντας τη σημαία χωρίς κεφάλι ως αληθινή στη μέθοδο Puppeteer.launch ().

const puppeteer = require('puppeteer');

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

Κεφαλή Chrome:

Το Headful chrome σημαίνει ότι το Puppeteer αλληλεπιδρά με ένα πρόγραμμα περιήγησης χρωμίου για το οποίο το Chrome UI είναι ορατό στην οθόνη. Από προεπιλογή, το 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

Το Puppeteer συνεργάζεται με προκαθορισμένες μεταβλητές περιβάλλοντος για την υποστήριξη των λειτουργιών του. Εάν το Puppeteer δεν εντοπίσει τις μεταβλητές περιβάλλοντος κατά την εγκατάσταση, θα χρησιμοποιηθεί μια παραλλαγή χαμηλότερου κεφαλαίου από αυτές τις μεταβλητές από τη διαμόρφωση npm (διαχειρίζεται το αρχείο διαμόρφωσης NPM). Οι μεταβλητές περιβάλλοντος δεν λαμβάνονται υπόψη από το πακέτο Puppeteer-core. Οι πιο σημαντικές μεταβλητές περιβάλλοντος Puppeteer είναι - 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Σας δίνει οδηγίες να μην κάνετε λήψη του πακέτου Chromium κατά τη διάρκεια του βήματος εγκατάστασης.
  • PUPPETEER_DOWNLOAD_HOST: Αντικαθιστά το πρόθεμα URL που μπορεί να χρησιμοποιηθεί για τη λήψη του Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: Αντικαθιστά τη διαδρομή του φακέλου λήψης. Η προεπιλεγμένη διαδρομή είναι - " /.local-chromium/ "όπου είναι η ρίζα πακέτου του puppeteer.
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Αυτές οι μεταβλητές καθορίζουν τις ρυθμίσεις διακομιστή μεσολάβησης για λήψη του Chromium κατά την εγκατάσταση.
  • PUPPETEER_CHROMIUM_REVISION: Ορίζει μια συγκεκριμένη έκδοση του Chromium που θα χρησιμοποιηθεί από το Puppeteer.
  • PUPPETEER_EXECUTABLE_PATH: Καθορίζει μια εκτελέσιμη διαδρομή που θα χρησιμοποιηθεί στη μέθοδο Puppeteer.launch. 
  • PUPPETEER_PRODUCT: Καθορίζει ποιο πρόγραμμα περιήγησης πρόκειται να χρησιμοποιηθεί από το Puppeteer. Η τιμή πρέπει να είναι είτε chrome είτε firefox. 

Συμπέρασμα:

Σε αυτό το εισαγωγικό άρθρο σχετικά με το Puppeteer Tutorial, μάθαμε για την επισκόπηση Puppeteer και τις Μεταβλητές Περιβάλλοντος Puppeteer. Στο επόμενο άρθρο του μαθήματος Puppeteer, θα μάθουμε για την επισκόπηση του Puppeteer Web Scraping και Puppeteer Test Automation. Παρακαλώ πατήστε εδώ για να επισκεφθείτε την πύλη αναφοράς για αυτό το Puppeteer Tutorial. Επίσης, κάντε κλικ εδώ για να μάθετε το Σελήνιο από το LambdaGeeks.

Σχετικά με το K Mondal

Γεια, είμαι ο K. Mondal, συνδέομαι με έναν κορυφαίο οργανισμό. Έχω 12+ χρόνια εργασιακής εμπειρίας σε διάφορους τομείς, π.χ. ανάπτυξη εφαρμογών, δοκιμές αυτοματισμού, σύμβουλος πληροφορικής. Με ενδιαφέρει πολύ να μάθω διαφορετικές τεχνολογίες. Είμαι εδώ για να εκπληρώσω τη φιλοδοξία μου και αυτήν τη στιγμή συνεισφέρω ως Συγγραφέας και Προγραμματιστής Ιστοσελίδων και στο LambdaGeeks.
Συνδεθείτε στο LinkedIn- https://www.linkedin.com/in/kumaresh-mondal/

Αφήστε ένα σχόλιο

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται *

Lambda Geeks