Puppeteer es una librería de Node.js desarrollada por Google que permite utilizar un navegador Chromium/Chrome headless (es decir, que se ejecuta dentro de un proceso de terminal sin interfaz gráfica) y manejarlo a través del protocolo DevTools.
Puede usarse entre otras cosas para:
- Automatización de procesos web
- Probar extensiones de Chrome
- Testing funcional de aplicaciones web
- Generar capturas de pantalla y PDF de páginas
- Automatizar el envío de formularios, entradas del teclado, etc.
- Capturar el seguimiento cronológico de un sitio para diagnosticar problemas de rendimiento
- Web scraping
Puppeteer no es compatible con planes de Hosting o Cloud Hosting. Para utilizarlo requieres un plan de Cloud VPS o Servidor Dedicado.
Instalación
Debido a que Chromium Headless tiene muchas dependencias, consume mucha memoria y abre muchos procesos simultáneos (alrededor de 100 procesos simultáneos), no es compatible para ejecutar en servicios de Hosting o Cloud Hosting y actualmente Puppeteer es compatible en servicios de Cloud VPS o Servidor Dedicado.
Además de tener las librerías de dependencias instaladas en el sistema operativo host, deberás tener una cuenta de usuario con acceso shell (terminal o consola ssh) que no tenga "Jailed Shell" y tener Node.js instalado.
Para instalarlo dentro de tu proyecto, debes instalarlo como una dependencia en un proyecto de npm.
Hay que tener en cuenta que la librería de Puppeteer viene empaquetada con un ejecutable de Chromium, por lo que ocupa bastante espacio en el disco.
Aplicación de prueba
Hemos preparado una app de pruebas que se conecta a https://api.myip.com (un sitio que nos dice nuestra IP pública) y muestra por pantalla el resultado:
- Nos conectamos a la consola de nuestra cuenta mediante SSH
- Instalamos Node.js si todavía no lo tenemos
- Clonamos el repositorio de la app de prueba y accedemos al mismo:
cd ~
git clone https://github.com/wnpower/NodeJS-TestApp.git
cd NodeJS-TestApp - Instalamos la dependencia de "puppeteer":
npm install puppeteer
- Ejecutamos la aplicación. Si todo sale bien veremos nuestra IP:
node test_puppeteer.js
<html><head></head><body>{"ip":"11.22.33.44","country":"Mexico","cc":"MX"}</body></html>
Error: Failed to launch the browser process
Es posible que recibamos este error al ejecutar una app con Puppeteer "Error: Failed to launch the browser process!".
También al ejecutar el binario de Chromium puedes obtener este error "Trace/breakpoint trap (core dumped)".
Esto puede ser debido a que la cuenta donde estás ejecutando tu App con Puppeteer no cumple con los requisitos antes mencionados, no tiene recursos suficientes (recuerda que requieres un servicio de Cloud VPS o superior para ejecutar Puppeteer) o estás utilizando la terminal de cPanel en lugar de la consola SSH, la cual es limitada.
Comentarios
0 comentarios
Inicie sesión para dejar un comentario.