Tutoriel de marionnettiste – Un excellent guide d'apprentissage du didacticiel de marionnettiste 1 et 2

Le Puppeteer est un framework Java open source développé avec la bibliothèque node-js. Le Marionnettiste a la capacité de fonctionner comme un outil de scraping Web. Il peut également être utilisé comme automatisation de test pour les applications Web, tout comme le pilote Web Selenium. La popularité de Puppeteer augmente rapidement pour l'automatisation des tests. Les prérequis pour parcourir le didacticiel Puppeteer sont une connaissance de base de la ligne de commande, de JavaScript, du concept de POO et de la structure HTML DOM. Le complet Tutoriel marionnettiste est réparti en sujets qui sont mentionnés dans la table des matières ci-dessous. 

Tutoriel de marionnettiste

Tutoriel Tosca # 1: Aperçu du marionnettiste

Tosca Tutorial # 2: Variables d'environnement de marionnettiste

Tosca Tutorial # 3: Présentation de l'automatisation du scraping Web et des tests de marionnettiste

Tosca Tutorial # 4: Installez Puppeteer 

Dans cet article de Tutoriel de marionnettiste, nous expliquerons la vue d'ensemble de Puppeteer et les variables d'environnement de Puppeteer. 

Aperçu du marionnettiste

The Puppeteer est un framework java open-source qui est développé avec la bibliothèque node-js. Puppeteer est capable de contrôler le navigateur Chrome via le protocole devtool à l'aide de l'interface d'application de haut niveau (API). Le marionnettiste est capable de contrôler à la fois les navigateurs chrome en tête et sans tête. 

Le framework Puppeteer est introduit par Google. En ce qui concerne la fonctionnalité, ce n'est pas un nouveau concept. Mais cela facilite le travail. Fondamentalement, il résume une liste d'activités à travers un ensemble compacté.

Tutoriel Marionnettiste - Marionnettiste
Tutoriel de marionnettiste – Marionnettiste

Comment fonctionnent les marionnettistes?

  • Puppeteer utilise la bibliothèque Node JS.
  • Le Node JS permet d'utiliser les API de haut niveau.
  • Les API sont capables de contrôler le navigateur Chrome via le protocole devtool.
  • Par défaut, Puppeteer fonctionne avec les navigateurs Chrome sans tête, mais il peut également interagir avec les navigateurs Chrome en tête en modifiant la configuration par défaut.

Protocole Chrome DevTools:

En utilisant le protocole Chrome DevTools, des outils tels que Puppeteer peuvent instrumenter, inspecter, déboguer et profiler les navigateurs basés sur les clignotements tels que Chromium, Chrome, etc.

Ici, l'instrumentation du navigateur est divisée en un certain nombre de domaines tels que DOM, Débogueur, Réseau, etc. Chaque domaine explique toutes les différentes commandes prises en charge et les événements générés.

Caractéristiques du marionnettiste:

  • Les processus manuels via le navigateur Chrome peuvent être automatisés.
  • Il peut capturer une capture d'écran de n'importe quelle page Web et génère l'image ou le fichier pdf de la capture d'écran.
  • Une application d'une seule page peut être développée du rendu côté serveur à l'aide du Puppeteer.
  • Il peut automatiser la soumission du formulaire Web, les tests de l'interface utilisateur, la saisie au clavier, etc., avec des points de contrôle.
  • Il offre plus de contrôle sur le navigateur Chrome.
  • Le mode sans tête par défaut est très rapide.
  • Il prend en charge le scraping Web.
  • Capacité à mesurer le rendu et le temps de chargement à l'aide des outils d'analyse des performances de Chrome.

Marionnettiste vs Puppeteer-core:

Depuis la version v1.7.0 de Puppeteer, ci-dessous deux packages, sont disponibles dans chaque version -

  • paquet puppeteer-core
  • forfait marionnettiste

Paquet de base du marionnettiste:

Marionnettiste-core est une bibliothèque de nœuds Java qui est capable d'effectuer toute opération prenant en charge le protocole DevTools. Le Puppeteer-core ne télécharge pas Chromium pendant l'installation. En tant que bibliothèque, Puppeteer-core est entièrement piloté par son interface de programmation. De plus, les fonctionnalités de Puppeteer-core ne peuvent pas être personnalisées par toutes les variables PUPPETEER_ * env. La commande de base pour installer Puppeteer-core - 

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

Lors de l'utilisation de puppeteer-core, les instructions d'inclusion seront comme ci-dessous -

const puppeteer = require('puppeteer-core')

Quand utiliser Puppeteer-Core:

  • Pour développer un projet Puppeteer pour utiliser le navigateur Chrome existant sur le protocole DevTools où le téléchargement supplémentaire de chrome n'est pas nécessaire.
  • Pour développer un autre produit ou une bibliothèque utilisateur final en plus du protocole DevTools. Par exemple, un projet peut créer un générateur de captures d'écran à l'aide de puppeteer-core et écrire un script setup.js personnalisé qui télécharge headless_shell au lieu de Chromium pour économiser du stockage.

Forfait marionnettiste:

Marionnettiste est un produit complet pour l'automatisation des navigateurs Chrome ou Chromium. Lors de l'installation, il télécharge la dernière version de Chromium, et après cela, il a été piloté par puppeteer-core. En tant que produit utilisateur final, Puppeteer prend en charge toutes les variables env PUPPETEER_ * pour personnaliser son comportement. La commande de base pour installer Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

Lorsque vous utilisez Puppeteer, incluez des instructions qui ressembleront à ci-dessous -

puppeteer = require(‘puppeteer’)

Différence entre Puppeteer et Puppeteer-core:

  • Puppeteer-core ne télécharge pas automatiquement le navigateur Chromium lors de l'installation.
  • Puppeteer-core ne prend pas en compte toutes les variables env PUPPETEER_ *.
  • Dans la plupart des projets, nous utilisons le package de produits Puppeteer.

Chrome sans tête:

Chrome sans tête signifie que le marionnettiste interagit avec un navigateur Chrome en tant qu'application d'arrière-plan, ce qui signifie que l'interface utilisateur chrome n'est pas visible à l'écran. Par défaut, Puppeteer lance l'application en tant que chrome sans tête. Exemple de code pour lancer Headless Chrome - 

Dans cet exemple, nous ouvrons le chrome sans tête, c'est-à-dire que l'interface utilisateur de Chrome ne sera pas visible. Cela peut être fait en passant l'indicateur headless comme true à la méthode Puppeteer.launch ().

const puppeteer = require('puppeteer');

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

Chrome plein de tête:

Le chrome en tête signifie que le marionnettiste interagit avec un navigateur Chrome pour lequel l'interface utilisateur de chrome est visible à l'écran. Par défaut, Puppeteer lance l'application en tant que chrome sans tête. Exemple de code pour lancer Headful Chrome - 

Dans cet exemple, nous ouvrons le chrome, qui nous est visible. Cela peut être fait en passant l'indicateur headless comme false à la méthode Puppeteer.launch ().

const puppeteer = require('puppeteer');

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

Variables d'environnement de marionnettiste

Puppeteer utilise des variables d'environnement prédéfinies pour prendre en charge ses opérations. Si Puppeteer ne trouve pas les variables d'environnement lors de l'installation, une variante minuscule de ces variables sera utilisée à partir de la configuration npm (gère le fichier de configurations NPM). Les variables d'environnement ne sont pas prises en compte par le package Puppeteer-core. Les variables d'environnement de Puppeteer les plus importantes sont: 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Il indique de ne pas télécharger Chromium fourni lors de l'étape d'installation.
  • PUPPETEER_DOWNLOAD_HOST: Il écrase le préfixe d'URL qui peut être utilisé pour télécharger Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: Il écrase le chemin du dossier de téléchargement. Le chemin par défaut est - " /.local-chromium/ "où est la racine du package de puppeteer.
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY : Ces variables définissent les paramètres de proxy pour télécharger Chromium lors de l'installation.
  • PUPPETEER_CHROMIUM_REVISION : Il définit une version spécifique de Chromium à utiliser par le marionnettiste.
  • PUPPETEER_EXECUTABLE_PATH : Il spécifie un chemin exécutable à utiliser dans la méthode Puppeteer.launch. 
  • MARIONNETTE_PRODUCT: Il définit quel navigateur doit être utilisé par Puppeteer. La valeur doit être chrome ou firefox. 

Conclusion:

Dans cet article d'introduction sur le didacticiel de Puppeteer, nous avons découvert la vue d'ensemble de Puppeteer et les variables d'environnement de Puppeteer. Dans le prochain article du Tutoriel marionnettiste, nous découvrirons la vue d'ensemble de Puppeteer Web Scraping et Puppeteer Test Automation. Cliquez s'il vous plait ici pour visiter le portail de référence de ce didacticiel de marionnettiste. Veuillez également cliquer sur ici pour apprendre Selenium de LambdaGeeks.

Laisser un commentaire