Información general sobre Puppeteer

Puppeteer es una biblioteca de nodos que proporciona una API de alto nivel para controlar Microsoft Edge mediante el protocolo DevTools. Puppeteer inicia exploradores sin cabeza de forma predeterminada. Los exploradores sin cabeza no muestran una interfaz de usuario (UI), por lo que debe usar la línea de comandos. También puede configurar El titiritero para que se ejecute de forma completa (sin Microsoft Edge.

De forma predeterminada, al instalar Puppeteer, el instalador descarga una versión reciente de Chromium, el explorador de código abierto en el que Microsoft Edge también se basa.

Si ha instalado Microsoft Edge, puede usar puppeteer-core. puppeteer-core es una versión ligera de Puppeteer que inicia una instalación de explorador existente, como Microsoft Edge. Para descargar Microsoft Edge, vaya a Descargar Microsoft Edge Canales insider.

Instalación de puppeteer-core

Puedes agregar puppeteer-core a tu sitio web o aplicación mediante uno de los siguientes comandos:

npm i puppeteer-core
yarn add puppeteer-core

Iniciar Microsoft Edge con puppeteer-core

puppeteer-core es similar a otros marcos de pruebas de explorador, como WebDriver. Cree una instancia del explorador, abra una página web y, a continuación, manipule la página web mediante la API de Puppeteer.

Para usar puppeteer-core para iniciar Microsoft Edge:

  1. puppeteer-core requiere node v8.9.0 o posterior. Asegúrese de que tiene una versión compatible de Node.js. Para ello, ejecute node -v desde la línea de comandos. Además, en el ejemplo siguiente se usa , que solo se admite async / await en node v7.6.0 o posterior.

  2. En el siguiente ejemplo de código, puppeteer-core inicia Microsoft Edge, va https://www.microsoftedgeinsider.com a y guarda una captura de pantalla como example.png . Copie el siguiente fragmento de código y guárdelo como 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.microsoftedgeinsider.com');
      await page.screenshot({path: 'example.png'});
    
      await browser.close();
    })();
    
  3. Siga los pasos siguientes para buscar la ruta de acceso ejecutable y, a continuación, cambie para que apunte a la instalación de executablePath Microsoft Edge. Por ejemplo, en macOS, el valor executablePath Microsoft Edge Canary debe establecerse en /Applications/Microsoft\ Edge\ Canary.app/ .

  4. Para buscar el , un enfoque manual sencillo es ir a y copiar la executablePath ruta de acceso edge://version ejecutable en esa página.

  5. O bien, para buscar mediante programación la ruta de acceso ejecutable, primero instale el paquete de rutas perimetrales ejecutando uno de los siguientes comandos:

    npm i edge-paths
    
    yarn add edge-paths
    
  6. A continuación, si usa para buscar la edge-paths ruta de acceso ejecutable, ejecute código como el ejemplo siguiente. Usa el paquete de rutas de acceso perimetrales para buscar mediante programación la ruta de acceso a la instalación de Microsoft Edge en el sistema operativo:

    const edgePaths = require("edge-paths");
    
    const EDGE_PATH = edgePaths.getEdgePath();
    
  7. Ahora que ha encontrado la ruta de acceso ejecutable (ya sea manualmente o mediante programación), en example.js , set executablePath: EDGE_PATH . Haz clic en Guardar para guardar los cambios.

  8. Ejecutar example.js desde la línea de comandos:

    node example.js
    

    puppeteer-core inicia Microsoft Edge, va a https://www.microsoftedgeinsider.com y guarda una captura de pantalla de la página web. Puede personalizar el tamaño de la captura de pantalla llamando a page.setViewport().

    El siguiente example.png archivo se produce mediante example.js :

    El example.png creado por example.js.

En el ejemplo anterior se muestran escenarios básicos de automatización y pruebas que se pueden cubrir con Puppeteer y puppeteer-core . Para obtener más información acerca de Puppeteer y cómo funciona, consulte Puppeteer.

Consulte también