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 .

Installieren von puppeteer-core

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

Starten von Microsoft Edge mit 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:

  1. 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ühren node -v Sie dazu über die Befehlszeile aus. Außerdem wird im folgenden Beispiel verwendet async/await, was nur in Node v7.6.0 oder höher unterstützt wird.

  2. Im folgenden Codebeispiel puppeteer-core startet Microsoft Edge, wechselt zu https://www.microsoft.com/edge/download/insiderund speichert einen Screenshot als example.png. Kopieren Sie den folgenden Codeausschnitt, und speichern Sie ihn als 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. 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ür executablePath Microsoft Edge Canary auf /Applications/Microsoft\ Edge\ Canary.app/festgelegt werden.

  4. Um nach executablePathzu suchen, besteht ein einfacher manueller Ansatz darin, zu zu wechseln und den Pfad der ausführbaren Datei auf dieser Seite zu edge://version kopieren.

  5. 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
    
  6. 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();
    
  7. Nachdem Sie nun den pfad der ausführbaren Datei (manuell oder programmgesteuert) gefunden haben, legen Sie in example.jsfest executablePath: EDGE_PATH. Speichern Sie Ihre Änderungen.

  8. Führen Sie example.js über die Befehlszeile aus:

    node example.js
    

    puppeteer-core startet Microsoft Edge, wechselt zu https://www.microsoft.com/edge/download/insiderund 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 von example.jserstellt:

    Die von example.jserzeugte example.png-Datei

Im vorherigen Beispiel werden grundlegende Automatisierungs- und Testszenarien veranschaulicht, die Sie mit Puppeteer und puppeteer-coreabdecken können. Weitere Informationen zu Puppeteer und seiner Funktionsweise finden Sie unter Puppeteer.

Weitere Informationen

Lokale Artikel

Archiv

Blog-Artikel

Tools

Protokolle

Info