Tutorial de titiritero: una excelente guía de aprendizaje del Tutorial de titiritero 1 y 2

The Puppeteer es un marco Java de código abierto que se desarrolla con la biblioteca node-js. The Puppeteer tiene la capacidad de funcionar como una herramienta de web scraping. También se puede utilizar como automatización de prueba para aplicaciones basadas en web, como el controlador web Selenium. La popularidad de Puppeteer está aumentando rápidamente para la automatización de pruebas. Los requisitos previos para recorrer el tutorial de Puppeteer son conocimientos básicos de línea de comandos, JavaScript, concepto de programación orientada a objetos y estructura HTML DOM. El completo Tutorial titiritero se distribuye en temas que se mencionan en la siguiente tabla de contenido. 

Tutorial de titiritero

Tutorial de Tosca # 1: Descripción general del titiritero

Tosca Tutorial # 2: Variables de entorno del titiritero

Tosca Tutorial # 3: Descripción general de la automatización de pruebas de titiritero y raspado web de titiritero

Tosca Tutorial # 4: Instalar Titiritero 

En este artículo de Tutorial de titiritero, explicaremos sobre la descripción general de Titiritero y las variables de entorno de Titiritero. 

Descripción general del titiritero

Puppeteer es un marco Java de código abierto que se desarrolla con la biblioteca node-js. Puppeteer puede controlar el navegador Chrome a través del protocolo devtool con la ayuda de la interfaz de aplicación de alto nivel (API). El Puppeteer puede controlar navegadores cromados con y sin cabeza. 

Google introduce el marco Puppeteer. Según la funcionalidad, no es un concepto nuevo. Pero facilita el trabajo. Básicamente, resume una lista de actividades a través de un paquete compactado.

Tutorial de titiritero - Titiritero
Tutorial de titiritero – Titiritero

¿Cómo funcionan los titiriteros?

  • Puppeteer usa la biblioteca Node JS.
  • Node JS permite utilizar las API de alto nivel.
  • Las API son capaces de controlar el navegador Chrome a través del protocolo devtool.
  • De forma predeterminada, Puppeteer funciona con navegadores Chrome sin cabeza, pero también puede interactuar con los navegadores Chrome con cabeza cambiando la configuración predeterminada.

Protocolo de Chrome DevTools:

Usando el protocolo Chrome DevTools, herramientas como Puppeteer pueden instrumentar, inspeccionar, depurar y perfilar los navegadores basados ​​en parpadeos como Chromium, Chrome, etc.

Aquí, la instrumentación del navegador se divide en varios dominios como DOM, depurador, red, etc. Cada dominio explica todos los diferentes comandos compatibles y los eventos generados.

Características de Titiritero:

  • Los procesos manuales a través del navegador Chrome se pueden automatizar.
  • Puede realizar capturas de pantalla de cualquier página web y generar la imagen o el archivo pdf de la captura de pantalla.
  • Se puede desarrollar una aplicación de una sola página de renderizado del lado del servidor usando el Puppeteer.
  • Puede automatizar el envío de formularios web, pruebas de IU, entrada de teclado, etc., con puntos de control.
  • Proporciona más control sobre el navegador Chrome.
  • El modo sin cabeza predeterminado es muy rápido.
  • Es compatible con el web scraping.
  • Capacidad para medir la reproducción y el tiempo de carga mediante las herramientas de análisis de rendimiento de Chrome.

Titiritero vs Titiritero-core:

Desde Puppeteer versión v1.7.0, debajo de dos paquetes, están disponibles en todas las versiones:

  • paquete titiritero-core
  • paquete titiritero

Paquete Puppeteer-core:

Titiritero-core es una biblioteca de nodo basada en Java que puede realizar cualquier operación que admita el protocolo DevTools. Puppeteer-core no descarga Chromium durante la instalación. Como biblioteca, Puppeteer-core se maneja completamente a través de su interfaz programática. Además, las características de Puppeteer-core no se pueden personalizar con todas las variables env de PUPPETEER_ *. El comando básico para instalar Puppeteer-core - 

npm install puppeteer-core
# or "yarn add puppeteer-core"

Al usar puppeteer-core, las declaraciones de inclusión se verán a continuación:

const puppeteer = require('puppeteer-core')

Cuándo usar Puppeteer-Core:

  • Desarrollar el proyecto Puppeteer para usar el navegador Chrome existente sobre el protocolo DevTools donde no se requiere una descarga adicional de cromo.
  • Desarrollar otro producto o biblioteca para el usuario final además del protocolo DevTools. Por ejemplo, un proyecto puede construir un generador de capturas de pantalla usando puppeteer-core y escribir un script setup.js personalizado que descargue headless_shell en lugar de Chromium para ahorrar almacenamiento.

Paquete titiritero:

Titiritero es un producto completo para la automatización del navegador Chrome o Chromium. Durante la instalación, descarga la última versión de Chromium, y después de eso, fue manejado por puppeteer-core. Como producto de usuario final, Puppeteer admite todas las variables env PUPPETEER_ * para personalizar su comportamiento. El comando básico para instalar Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

Cuando use Puppeteer, incluya declaraciones que se verán a continuación:

puppeteer = require(‘puppeteer’)

Diferencia entre Puppeteer y Puppeteer-core:

  • Puppeteer-core no descarga el navegador Chromium automáticamente durante la instalación.
  • Puppeteer-core no considera todas las variables env de PUPPETEER_ *.
  • En la mayoría de los proyectos, utilizamos el paquete de productos Puppeteer.

Cromo sin cabeza:

Chrome sin cabeza significa que Puppeteer está interactuando con un navegador Chrome como una aplicación en segundo plano, lo que significa que la interfaz de usuario de Chrome no es visible en la pantalla. De forma predeterminada, Puppeteer inicia la aplicación como cromo sin cabeza. Ejemplo de código para iniciar Headless Chrome - 

En este ejemplo, estamos abriendo el cromo sin cabeza, es decir, la interfaz de usuario de Chrome no será visible. Se puede hacer pasando la bandera sin cabeza como fiel al método Puppeteer.launch ().

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: true });
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

Cabeza de cromo:

Headful chrome significa que Puppeteer está interactuando con un navegador Chrome para el cual la interfaz de usuario de Chrome es visible en la pantalla. De forma predeterminada, Puppeteer inicia la aplicación como cromo sin cabeza. Ejemplo de código para iniciar Headful Chrome - 

En este ejemplo, estamos abriendo el cromo, que es visible para nosotros. Se puede hacer pasando la bandera sin cabeza como falsa al método Puppeteer.launch ().

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({ headless: false});
  // Specify statements for Headless Chrome operations  
  await browser.close();
})();

Variables de entorno del titiritero

Puppeteer trabaja con variables de entorno predefinidas para respaldar sus operaciones. Si Puppeteer no encuentra las variables de entorno durante la instalación, se utilizará una variante en minúsculas de estas variables de la configuración de npm (administra el archivo de configuraciones de NPM). Las variables de entorno no son consideradas por el paquete Puppeteer-core. Las variables de entorno de Titiritero más importantes son: 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Indica que no se debe descargar Chromium incluido durante el paso de instalación.
  • PUPPETEER_DOWNLOAD_HOST: Sobrescribe el prefijo de URL que se puede usar para descargar Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: Sobrescribe la ruta de la carpeta de descarga. La ruta predeterminada es " /.local-chromium/ ”donde es la raíz del paquete de titiritero.
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Estas variables definen la configuración del proxy para descargar Chromium durante la instalación.
  • PUPPETEER_CROMO_REVISIÓN: Define una versión específica de Chromium para ser utilizada por el Titiritero.
  • PUPPETEER_EXECUTABLE_PATH: Especifica una ruta ejecutable que se utilizará en el método Puppeteer.launch. 
  • TITIRITERO_PRODUCTO: Define qué navegador utilizará Puppeteer. El valor debe ser Chrome o Firefox. 

Conclusión:

En este artículo introductorio sobre el tutorial de Puppeteer, hemos aprendido acerca de la descripción general de Puppeteer y las variables de entorno de Puppeteer. En el próximo artículo de la Tutorial titiritero, aprenderemos sobre la descripción general de Puppeteer Web Scraping y Puppeteer Test Automation. Por favor haz click esta página para visitar el portal de referencia de este Tutorial de titiritero. Además, haga clic en esta página para aprender Selenium de LambdaGeeks.

Deja un comentario