Vue d’ensemble de Puppeteer

La bibliothèque Puppeteer fournit une API de haut niveau pour contrôler les navigateurs basés sur Chromium, y compris Microsoft Edge, à l’aide du protocole DevTools.

Puppeteer lance les navigateurs sans tête par défaut. Les navigateurs sans tête n’affichent pas d’interface utilisateur. Vous devez donc utiliser la ligne de commande. Vous pouvez également configurer Puppeteer pour exécuter Microsoft Edge complet (sans tête).

Par défaut, lorsque vous installez Puppeteer, le programme d’installation télécharge une version récente de Chromium, le navigateur open source sur lequel Microsoft Edge est également basé.

Si Microsoft Edge est installé, vous pouvez utiliser puppeteer-core. puppeteer-core est une version légère de Puppeteer qui lance une installation de navigateur existante, comme Microsoft Edge. Pour télécharger Microsoft Edge, accédez à Télécharger les canaux Microsoft Edge Insider.

Le marionnettiste est une bibliothèque node .

Installation de puppeteer-core

Vous pouvez ajouter puppeteer-core à votre site web ou à votre application à l’aide de l’une des commandes suivantes :

npm i puppeteer-core
yarn add puppeteer-core

Lancer Microsoft Edge avec puppeteer-core

puppeteer-core est similaire à d’autres frameworks de test de navigateur, tels que WebDriver. Vous créez une instance du navigateur, ouvrez une page web, puis vous manipulez la page web à l’aide de l’API Puppeteer.

Pour utiliser puppeteer-core pour lancer Microsoft Edge :

  1. puppeteer-core nécessite Node v8.9.0 ou version ultérieure. Vérifiez que vous disposez d’une version compatible de Node.js. Pour ce faire, exécutez node -v à partir de la ligne de commande. En outre, l’exemple ci-dessous utilise async/await, qui est pris en charge uniquement dans Node v7.6.0 ou version ultérieure.

  2. Dans l’exemple de code suivant, puppeteer-core lance Microsoft Edge, accède à https://www.microsoft.com/edge/download/insideret enregistre une capture d’écran en tant que example.png. Copiez l’extrait de code suivant et enregistrez-le sous example.js:

    const puppeteer = require('puppeteer-core');
    
    (async () => {
      const browser = await puppeteer.launch({
        executablePath: 'C:\\Program Files (x86)\\Microsoft\\Edge Dev\\Application\\msedge.exe'
      });
      const page = await browser.newPage();
      await page.goto('https://www.microsoft.com/edge/download/insider');
      await page.screenshot({path: 'example.png'});
    
      await browser.close();
    })();
    
  3. Suivez les étapes suivantes pour rechercher le chemin d’accès exécutable, puis modifiez executablePath pour pointer vers votre installation de Microsoft Edge. Par exemple, sur macOS, le executablePath pour Microsoft Edge Canary doit être défini sur /Applications/Microsoft\ Edge\ Canary.app/.

  4. Pour trouver le executablePath, une approche manuelle simple consiste à accéder au chemin d’accès exécutable et à edge://version le copier sur cette page.

  5. Ou, pour rechercher par programmation le chemin d’accès exécutable, commencez par installer le package edge-paths en exécutant l’une des commandes suivantes :

    npm i edge-paths
    
    yarn add edge-paths
    
  6. Ensuite, si vous utilisez edge-paths pour rechercher le chemin d’accès exécutable, exécutez du code comme dans l’exemple suivant. Il utilise le package edge-paths pour rechercher par programme le chemin d’accès à votre installation de Microsoft Edge sur votre système d’exploitation :

    const edgePaths = require("edge-paths");
    
    const EDGE_PATH = edgePaths.getEdgePath();
    
  7. Maintenant que vous avez trouvé le chemin d’accès exécutable (manuellement ou par programmation), dans example.js, définissez executablePath: EDGE_PATH. Cliquez sur Enregistrer pour enregistrer vos modifications.

  8. Exécutez example.js à partir de la ligne de commande :

    node example.js
    

    puppeteer-core lance Microsoft Edge, accède à https://www.microsoft.com/edge/download/insideret enregistre une capture d’écran de la page web. Vous pouvez personnaliser la taille de la capture d’écran en appelant page.setViewport().

    Le fichier suivant example.png est produit par example.js:

    Fichier example.png produit par example.js

L’exemple précédent illustre des scénarios d’automatisation et de test de base que vous pouvez couvrir à l’aide de Puppeteer et puppeteer-core. Pour plus d’informations sur Puppeteer et son fonctionnement, case activée Puppeteer.

Voir également

Articles locaux

Archive

Billets de blog

Outils

Protocoles

Info