Información general sobre Puppeteer

La biblioteca Puppeteer proporciona una API de alto nivel para controlar exploradores basados en Chromium, incluido 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 Puppeteer para que ejecute Microsoft Edge completo (sin cabeza).

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

Si tiene 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 canales de Microsoft Edge Insider.

Puppeteer es una biblioteca de Node .

Instalación de puppeteer-core

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

npm i puppeteer-core
yarn add puppeteer-core

Inicio de Microsoft Edge con puppeteer-core

puppeteer-core es similar a otros marcos de prueba 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 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 async/await, que solo se admite en Node v7.6.0 o posterior.

  2. En el ejemplo de código siguiente, puppeteer-core inicia Microsoft Edge, va a https://www.microsoft.com/edge/download/insidery 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.microsoft.com/edge/download/insider');
      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 executablePath para que apunte a la instalación de Microsoft Edge. Por ejemplo, en macOS, para executablePath Microsoft Edge Canary debe establecerse en /Applications/Microsoft\ Edge\ Canary.app/.

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

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

    npm i edge-paths
    
    yarn add edge-paths
    
  6. A continuación, si usa edge-paths para buscar la ruta de acceso ejecutable, ejecute código como en 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, establezca executablePath: EDGE_PATH. Haz clic en Guardar para guardar los cambios.

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

    node example.js
    

    puppeteer-core inicia Microsoft Edge, va a https://www.microsoft.com/edge/download/insidery 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 archivo siguiente example.png lo genera example.js:

    El archivo example.png generado por example.js

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

Ver también

Artículos locales

Archive

Entradas de blog

Herramientas

Protocolos

Información