Σήμερα, το Puppeteer τραβάει την προσοχή ως εργαλείο απόξεσης ιστού. Λόγω της απλότητας, της διαθεσιμότητας ως εργαλείου ανοιχτού κώδικα και της δυνατότητας ανάπτυξης μιας εφαρμογής μιας σελίδας, το Puppeteer αποκτά τη δημοτικότητα. Πριν αρχίσουμε να μαθαίνουμε για το εργαλείο απόξεσης ιστού Puppeteer, θα πρέπει να έχουμε βασική κατανόηση της γραμμής εντολών, του Javascript και της δομής HTML DOM. ο Φροντιστήριο κουκλοθέατρου έχει χωριστεί σε λίγα άρθρα που προσδιορίζονται στον παρακάτω πίνακα περιεχομένου.
Εκπαιδευτικό κουκλοθέατρο
Εκμάθηση Tosca # 1: Επισκόπηση Puppeteer
Τόσκα φροντιστήριο # 2: Μεταβλητές Περιβάλλοντος Puppeteer
Τόσκα φροντιστήριο # 3: Επισκόπηση αυτοματισμού Puppeteer Web Scraping και Puppeteer Test
Τόσκα φροντιστήριο # 4: Εγκαταστήστε το Puppeteer
Σε αυτό το άρθρο του Εκπαιδευτικό κουκλοθέατρο, θα συζητήσουμε το Puppeteer Web Scraping με ένα παράδειγμα και επισκόπηση αυτοματισμού Puppeteer Test.
Ξύσιμο Ιστού Puppeteer
Η διαδικασία εξαγωγής δεδομένων από οποιαδήποτε ιστοσελίδα ονομάζεται web scraping. Η απόσυρση ιστού έχει δύο βήματα. Πρώτον, ανακτά την ιστοσελίδα και στη συνέχεια εξάγει τα δεδομένα. Μετά την εξαγωγή δεδομένων, μπορούμε να το χρησιμοποιήσουμε για οποιοδήποτε API ή να το αποθηκεύσουμε σε ένα αρχείο CSV.
Το Puppeteer είναι ένα από τα καλύτερα εργαλεία για την υποστήριξη της απόξεσης ιστού για το πρόγραμμα περιήγησης Google Chrome ή Chromium. Το ξύσιμο κουκλοθέατρου εξηγείται λεπτομερώς με το παρακάτω παράδειγμα -
Βασικό Παράδειγμα Scraping Ιστού Puppeteer:
Βήμα 1# Το Puppeteer λειτουργεί στη βιβλιοθήκη Node JS. Έτσι, το πρώτο βήμα είναι να συμπεριλάβετε τη βιβλιοθήκη κουκλοπαίδων πριν από τη σύνταξη του σεναρίου για ξύσιμο ιστού.
const puppeteerObj = require("puppeteer");
Βήμα 2# Αφού συμπεριλάβουμε την τάξη Puppeteer, πρέπει να γράψουμε μια συνάρτηση async χρησιμοποιώντας τη λέξη-κλειδί αναμονής. Απαιτείται καθώς ο Puppeteer χρησιμοποιεί υποσχέσεις. Στη συνέχεια, καλέστε τη μέθοδο Puppeteer.launch () για να καλέσετε το πρόγραμμα περιήγησης και καλέστε τη μέθοδο newPage () για να δημιουργήσετε μια παρουσία ιστοσελίδας.
const browserWeb = await puppeteerObj.launch();
const pageWeb = await browserWeb.newPage();
Βήμα 3# Τώρα καλέστε τη μέθοδο page.goto () για να παρέχετε τη διεύθυνση URL του επιθυμητού ιστότοπου.
await pageWeb.goto("https://lambdageeks.com/");
Βήμα 4# Χρησιμοποιήστε τη μέθοδο page.evaluate () για να καταγράψετε το κείμενο οποιουδήποτε συγκεκριμένου στοιχείου (σε αυτό το παράδειγμα, θα καταγράψουμε το κείμενο της κεφαλίδας).
const data = await pageWeb.evaluate(() => {
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };
Στο επερχόμενο σεμινάριο θα συζητήσουμε πώς να προσδιορίσουμε οποιοδήποτε αντικείμενο από την οθόνη web.

Βήμα 5# Σε αυτό το τελευταίο βήμα, πρέπει να επεξεργαστούμε τα δεδομένα και μετά να κλείσουμε την ιστοσελίδα. Ο πλήρης κωδικός Scraping Web Puppeteer θα έχει την εξής μορφή:
const puppeteer = require("puppeteer");
async function scrap() {
// Launch the browser
const browserApp = await puppeteer.launch();
// Create a page instance
const pageApp = await browserApp.newPage();
// invoke the web page for scraping
await pageApp.goto("https://lambdageeks.com/");
// Select any web element
const data = await pageApp.evaluate(() => {
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };
// Here we can do anything with this data. Here displaying the data
console.log(header);
//We close the browser
await browserApp.close();
}
Scrap();
Βήμα 6# Τώρα, μπορούμε να εκτελέσουμε αυτόν τον κώδικα απόξεσης web puppeteer χρησιμοποιώντας την εντολή: κόμβος index.js
Σημείωση: Στο επόμενο άρθρο, "Εγκατάσταση Puppeteer", θα συζητήσουμε τη ρύθμιση εγκατάστασης του Puppeteer και θα εκτελέσουμε τον παραπάνω κώδικα Scraping Web Puppeteer.
Επισκόπηση αυτοματοποίησης δοκιμών Puppeteer
Εκτός από το web scraping, το Puppeteer έχει τις δυνατότητες να εκτελεί και τις παρακάτω δραστηριότητες,
- Καταγράψτε τα στιγμιότυπα οθόνης των ιστοσελίδων.
- Μπορούμε να αποθηκεύσουμε την οθόνη της ιστοσελίδας ως αρχείο pdf.
- Μπορεί να επιτευχθεί αυτοματοποίηση χειροκίνητων βημάτων για την εκτέλεση δοκιμών UI
Έτσι, συνδυάζοντας όλα τα παραπάνω χαρακτηριστικά, μπορούμε να χρησιμοποιήσουμε το Puppeteer για αυτοματοποιημένο έλεγχο. Για να κατανοήσουμε τον αυτοματισμό του Puppeteer Test, πρώτα, πρέπει να εξοικειωθούμε με τις δοκιμές λογισμικού.
Επισκόπηση δοκιμών:
Απαιτείται δοκιμή για να διασφαλιστεί ότι πληρούνται όλες οι απαιτήσεις λογισμικού χωρίς τυχόν προβλήματα. Διαφορετικοί τύποι κύκλων δοκιμών είναι διαθέσιμοι από την αρχή της διαδικασίας ανάπτυξης λογισμικού. Το λογισμικό μπορεί να δοκιμαστεί χειροκίνητα ή μέσω της αυτοματοποιημένης προσέγγισης.
Σκοποί των δοκιμών λογισμικού είναι -
- Επαληθεύστε την ποιότητα των προϊόντων.
- Βρείτε τα σφάλματα του προϊόντος πριν από την ανάπτυξη της παραγωγής.
- Ο έλεγχος των απαιτήσεων ικανοποιείται.
- Δοκιμή των επιδόσεων του προϊόντος.
Οι τύποι δοκιμών εξηγούνται εδώ -
Δοκιμή μονάδας - Οι προγραμματιστές είναι υπεύθυνοι για τη διενέργεια δοκιμών μονάδας κατά τη φάση ανάπτυξης κώδικα.
Δοκιμή ολοκλήρωσης - Αυτή η δοκιμή απαιτείται μετά την ολοκλήρωση των διαφορετικών στοιχείων του προϊόντος λογισμικού. Ο κύριος σκοπός είναι να διασφαλιστεί ότι όλες οι διεπαφές λειτουργούν ομαλά.
Δοκιμή συστήματος - Είναι μια λεπτομερής δοκιμή που πρέπει να γίνει μετά την ολοκλήρωση για να διασφαλιστεί ότι πληρούνται όλες οι απαιτήσεις.
Δοκιμή αποδοχής χρήστη - Είναι επίσης μια λεπτομερής δοκιμή που πρέπει να γίνει από τον τελικό χρήστη του προϊόντος για να διασφαλιστεί η ποιότητα.
Επανάληψη δοκιμών - Απαιτείται να διασφαλιστεί ότι η βασική επιχειρηματική διαδικασία λειτουργεί ομαλά κατά τη διάρκεια τυχόν βελτιώσεων λογισμικού.
Πλεονεκτήματα του αυτοματισμού δοκιμής:
- Μειώστε τον κύκλο εκτέλεσης.
- Αποφύγετε τις πιθανότητες για ανθρώπινα λάθη.
- Ελαχιστοποιήστε τις προσπάθειες εκτέλεσης δοκιμής.
- Γρήγορη έκδοση λογισμικού.
- Αυξήστε την κάλυψη δοκιμών για να μειώσετε τον κίνδυνο.
- Ικανότητα εκτέλεσης παράλληλης εκτέλεσης.
Γιατί Puppeteer;
Οι περισσότερες από τις μη αυτόματες λειτουργίες που εκτελούνται στο πρόγραμμα περιήγησης Chrome μπορούν να αυτοματοποιηθούν χρησιμοποιώντας το Puppeteer. Έτσι, το Puppeteer είναι μια καλή επιλογή για τον έλεγχο μονάδων σε εφαρμογές Ιστού με γρήγορο και ευκολότερο τρόπο.
Οι περιορισμοί του Το Puppeteer ως εργαλείο δοκιμών αυτοματισμού είναι -
- Υποστηρίζει μόνο το πρόγραμμα περιήγησης Chrome και Chromium.
- Δεν είναι δυνατή η δοκιμή Coss-browser.
- Δεν είναι δυνατή η πραγματοποίηση δοκιμών μέσω κινητού.
Δοκιμή χωρίς κεφαλή Chrome:
Το πρόγραμμα περιήγησης χωρίς κεφάλι σημαίνει ότι το Puppeteer αλληλεπιδρά με ένα πρόγραμμα περιήγησης χρωμίου ως εφαρμογή φόντου, πράγμα που σημαίνει ότι το περιβάλλον χρήστη του χρωμίου δεν είναι ορατό στην οθόνη. Έτσι, ο έλεγχος χρωμίου χωρίς κεφάλι σημαίνει ότι ο έλεγχος αυτοματισμού πρέπει να πραγματοποιηθεί σε ένα κρυφό πρόγραμμα περιήγησης. Επίσης, μετά τη δοκιμή του headless chrome, το Puppeteer μπορεί να συλλάβει σωστά την οθόνη web.
Puppeteer εναντίον Σελήνιο

Η σύγκριση μεταξύ Puppeteer και Selenium ως αυτοματοποιημένου εργαλείου δοκιμής εξηγείται παρακάτω -
- Υποστήριξη γλώσσας προγραμματισμού - Το Puppeteer υποστηρίζει μόνο JavaScript, όπου το Selenium υποστηρίζει γλώσσες Java, Python, Node.js και C #.
- Υποστήριξη προγράμματος περιήγησης - Το Puppeteer ισχύει μόνο για προγράμματα περιήγησης Chrome ή Chromium, αλλά το Selenium υποστηρίζει προγράμματα περιήγησης Chrome, Mozilla, Safari, IE, Opera.
- Υποστήριξη κοινότητας - Η υποστήριξη κοινότητας περιορίζεται στις Ομάδες Google, το GitHub και το Stack Overflow για το Puppeteer. Ωστόσο, για το Σελήνιο, διατίθεται ευρεία υποστήριξη κοινότητας σε πολλά φόρουμ.
- Ταχύτητα εκτέλεσης - Η εκτέλεση του σεναρίου Puppeteer είναι ταχύτερη από το Σελήνιο.
- Εγκατάσταση και ρύθμιση - Η εγκατάσταση και η εγκατάσταση του Puppeteer είναι μια πιο εύκολη και απλή διαδικασία.
- Υποστήριξη μεταξύ πλατφορμών - Το Puppeteer δεν το υποστηρίζει, αλλά το Selenium μπορεί.
- Εγγραφή - Οι δυνατότητες εγγραφής δεν είναι διαθέσιμες στο Puppeteer. Αλλά αυτή η δυνατότητα είναι διαθέσιμη για το Selenium IDE.
- Στιγμιότυπα οθόνης - Το Puppeteer έχει τη δυνατότητα να τραβήξει ένα στιγμιότυπο οθόνης ως μορφή εικόνας ή pdf, όπου το Selenium μπορεί να υποστηρίξει μόνο τη μορφή εικόνας.
- Υποστήριξη πλατφόρμας δοκιμής – Το Puppeteer υποστηρίζει μόνο προγράμματα περιήγησης ιστού, αλλά το Selenium μπορεί να αυτοματοποιήσει τον ιστό και κινητό με Appium.
- Δεξιότητες κωδικοποίησης - Απαιτείται για το πρόγραμμα οδήγησης Web Puppeteer Selenium αλλά όχι για το Selenium IDE.
Με βάση την παραπάνω σύγκριση, μπορούμε να συμπεράνουμε ότι το Puppeteer θα κάνει την καλύτερη επιλογή όταν πρέπει να εκτελέσουμε δοκιμές σε επίπεδο μονάδας για οποιαδήποτε διαδικτυακή εφαρμογή όπου απαιτείται γρήγορη και ευέλικτη λύση. Το άλλο εργαλείο, το Selenium θα είναι η καλύτερη επιλογή όταν υπάρχει ανάγκη για εφαρμογές για κινητά και cross-platform δοκιμή εφαρμογής. Κλίκ εδώ για να μάθετε το Σελήνιο από το LambdaGeeks.
Συμπέρασμα:
Σε αυτό το εισαγωγικό άρθρο για Εκπαιδευτικό κουκλοθέατρο, μάθαμε για την επισκόπηση του Puppeteer Web Scraping και Puppeteer Test Automation. Θα μάθουμε για τον οδηγό βήμα προς βήμα για την εγκατάσταση του Puppeteer και την εκτέλεση ενός μικρού σεναρίου στο επόμενο άρθρο του Puppeteer. Παρακαλώ πατήστε εδώ για να επισκεφθείτε την πύλη αναφοράς για αυτό το Puppeteer Tutorial.