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 .
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
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 :
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écuteznode -v
à partir de la ligne de commande. En outre, l’exemple ci-dessous utiliseasync
/await
, qui est pris en charge uniquement dans Node v7.6.0 ou version ultérieure.Dans l’exemple de code suivant,
puppeteer-core
lance Microsoft Edge, accède àhttps://www.microsoft.com/edge/download/insider
et enregistre une capture d’écran en tant queexample.png
. Copiez l’extrait de code suivant et enregistrez-le sousexample.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(); })();
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, leexecutablePath
pour Microsoft Edge Canary doit être défini sur/Applications/Microsoft\ Edge\ Canary.app/
.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.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
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();
Maintenant que vous avez trouvé le chemin d’accès exécutable (manuellement ou par programmation), dans
example.js
, définissezexecutablePath: EDGE_PATH
. Cliquez sur Enregistrer pour enregistrer vos modifications.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/insider
et 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 parexample.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.
- WebDriver
- Contactez l’équipe Microsoft Edge DevTools pour envoyer des commentaires sur l’utilisation de Puppeteer, puppeteer-core et Microsoft Edge.
- Chrome DevTools Protocol (CDP) dans Vue d’ensemble des fonctionnalités et API WebView2
- Utiliser le protocole CDP (Chrome DevTools Protocol) dans les applications WebView2