Puppeteer – Übersicht
Die Puppeteer-Bibliothek bietet eine allgemeine API zum Steuern Chromium-basierten Browsern, einschließlich Microsoft Edge, mithilfe des DevTools-Protokolls.
Puppeteer startet standardmäßig headless-Browser . Headless-Browser zeigen keine Benutzeroberfläche (UI) an, daher müssen Sie die Befehlszeile verwenden. Sie können Puppeteer auch so konfigurieren, dass Microsoft Edge vollständig (ohne Kopf) ausgeführt wird.
Wenn Sie Puppeteer installieren, lädt das Installationsprogramm standardmäßig eine aktuelle Version von Chromium herunter, dem Open-Source-Browser, auf dem Microsoft Edge ebenfalls basiert.
Wenn Sie Microsoft Edge installiert haben, können Sie puppeteer-core verwenden.
puppeteer-core
ist eine einfache Version von Puppeteer, die eine vorhandene Browserinstallation wie Microsoft Edge startet. Um Microsoft Edge herunterzuladen, wechseln Sie zu Microsoft Edge Insider Channels herunterladen.
Puppeteer ist eine Node-Bibliothek .
Sie können Zu Ihrer Website oder App hinzufügen puppeteer-core
, indem Sie einen der folgenden Befehle verwenden:
npm i puppeteer-core
yarn add puppeteer-core
puppeteer-core
ähnelt anderen Browsertestframeworks, z. B. WebDriver. Sie erstellen eine instance des Browsers, öffnen eine Webseite und bearbeiten die Webseite dann mithilfe der Puppeteer-API.
So starten puppeteer-core
Sie Microsoft Edge:
puppeteer-core
erfordert Node v8.9.0 oder höher. Stellen Sie sicher, dass Sie über eine kompatible Version von Node.js verfügen. Führennode -v
Sie dazu über die Befehlszeile aus. Außerdem wird im folgenden Beispiel verwendetasync
/await
, was nur in Node v7.6.0 oder höher unterstützt wird.Im folgenden Codebeispiel
puppeteer-core
startet Microsoft Edge, wechselt zuhttps://www.microsoft.com/edge/download/insider
und speichert einen Screenshot alsexample.png
. Kopieren Sie den folgenden Codeausschnitt, und speichern Sie ihn alsexample.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(); })();
Führen Sie die nächsten Schritte aus, um den pfad der ausführbaren Datei zu finden, und ändern Sie
executablePath
dann, um auf Ihre Installation von Microsoft Edge zu verweisen. Unter macOS sollte beispielsweise fürexecutablePath
Microsoft Edge Canary auf/Applications/Microsoft\ Edge\ Canary.app/
festgelegt werden.Um nach
executablePath
zu suchen, besteht ein einfacher manueller Ansatz darin, zu zu wechseln und den Pfad der ausführbaren Datei auf dieser Seite zuedge://version
kopieren.Um den pfad der ausführbaren Datei programmgesteuert zu finden, installieren Sie zuerst das Paket edge-paths , indem Sie einen der folgenden Befehle ausführen:
npm i edge-paths
yarn add edge-paths
Wenn Sie dann verwenden
edge-paths
, um den ausführbaren Pfad zu finden, führen Sie Code wie im folgenden Beispiel aus. Es verwendet das Paket edge-paths , um den Pfad zu Ihrer Installation von Microsoft Edge auf Ihrem Betriebssystem programmgesteuert zu finden:const edgePaths = require("edge-paths"); const EDGE_PATH = edgePaths.getEdgePath();
Nachdem Sie nun den pfad der ausführbaren Datei (manuell oder programmgesteuert) gefunden haben, legen Sie in
example.js
festexecutablePath: EDGE_PATH
. Speichern Sie Ihre Änderungen.Führen Sie
example.js
über die Befehlszeile aus:node example.js
puppeteer-core
startet Microsoft Edge, wechselt zuhttps://www.microsoft.com/edge/download/insider
und speichert einen Screenshot der Webseite. Sie können die Größe des Screenshots anpassen, indem Sie page.setViewport() aufrufen.Die folgende
example.png
Datei wird vonexample.js
erstellt:
Im vorherigen Beispiel werden grundlegende Automatisierungs- und Testszenarien veranschaulicht, die Sie mit Puppeteer und puppeteer-core
abdecken können. Weitere Informationen zu Puppeteer und seiner Funktionsweise finden Sie unter Puppeteer.
- WebDriver
- Wenden Sie sich an das Microsoft Edge DevTools-Team , um Feedback zur Verwendung von Puppeteer, puppeteer-core und Microsoft Edge zu senden.
- Chrome DevTools Protocol (CDP) in Übersicht über WebView2-Features und -APIs
- Verwenden des Chrome DevTools-Protokolls (CDP) in WebView2-Apps