Tutorial do Puppeteer - Um Excelente Guia de Aprendizagem do Tutorial 1 e 2 do Puppeteer

Tutorial do Titereiro - Visão Geral do Titereiro

O Puppeteer é um framework Java de código aberto que é desenvolvido com a biblioteca node-js. O Puppeteer tem a capacidade de funcionar como uma ferramenta de web scraping. Ele também pode ser usado como uma automação de teste para aplicativos baseados na web, como o driver da web selenium. A popularidade do Puppeteer está aumentando rapidamente para automação de testes. Os pré-requisitos para percorrer o tutorial do Puppeteer são conhecimentos básicos de linha de comando, JavaScript, conceito de OOPs e estrutura HTML DOM. O tutorial completo do Puppeteer é distribuído em tópicos mencionados na tabela de conteúdo abaixo. 

Tutorial do Titereiro

Tutorial Tosca # 1: Visão geral do titereiro

Tosca tutorial # 2: Variáveis ​​de ambiente do titereiro

Tosca tutorial # 3: Visão geral da criação da Web do Puppeteer e da automação do teste do Puppeteer

Tosca tutorial # 4: Instale o Puppeteer 

Neste artigo do tutorial do Puppeteer, explicaremos sobre a Visão Geral do Puppeteer e as Variáveis ​​de Ambiente do Puppeteer. 

Visão geral do titereiro

O Puppeteer é um framework Java de código aberto que é desenvolvido com a biblioteca node-js. O Puppeteer é capaz de controlar o navegador Chrome sobre o protocolo devtool com a ajuda da interface de aplicativo de alto nível (API). O Puppeteer é capaz de controlar os navegadores cromados headful e headless. 

A estrutura do Puppeteer é introduzida pelo Google. Quanto à funcionalidade, não é um conceito novo. Mas torna o trabalho mais fácil. Fundamentalmente, ele resume uma lista de atividades por meio de um pacote compactado.

Tutorial do Titereiro - Titereiro
Tutorial do Titereiro - Titereiro

Como funcionam os titereiros?

  • Puppeteer usa a biblioteca Node JS.
  • O Node JS permite o uso de APIs de alto nível.
  • As APIs são capazes de controlar o navegador Chrome sobre o protocolo devtool.
  • Por padrão, o Puppeteer funciona com navegadores Chrome headless, mas também pode interagir com navegadores Chrome headful, alterando a configuração padrão.

Protocolo Chrome DevTools:

Usando o protocolo Chrome DevTools, ferramentas como o Puppeteer são capazes de instrumentar, inspecionar, depurar e criar perfis de navegadores baseados em intermitência, como Chromium, Chrome, etc.

Aqui, a instrumentação do navegador é dividida em vários domínios, como DOM, Debugger, Rede, etc. Cada domínio explica todos os diferentes comandos suportados e os eventos gerados.

Características do Puppeteer:

  • Os processos manuais por meio do navegador Chrome podem ser automatizados.
  • Ele pode capturar imagens de qualquer página da web e gerar a imagem ou o arquivo PDF da imagem.
  • Um aplicativo de página única pode ser desenvolvido para renderização do lado do servidor usando o Puppeteer.
  • Ele pode automatizar o envio de formulários da web, testes de IU, entrada de teclado, etc., com pontos de verificação.
  • Ele fornece mais controle sobre o navegador Chrome.
  • O modo sem cabeça padrão é muito rápido.
  • Suporta web scraping.
  • Capacidade de medir a renderização e o tempo de carregamento usando as ferramentas de análise de desempenho do Chrome.

Marionetista vs Marionetista-núcleo:

Desde a versão v1.7.0 do Puppeteer, abaixo de dois pacotes, estão disponíveis em todas as versões -

  • pacote puppeteer-core
  • pacote de titereiro

Pacote do núcleo do Puppeteer:

Núcleo de titereiro é uma biblioteca Node baseada em java que é capaz de realizar qualquer operação que suporte o protocolo DevTools. O Puppeteer-core não baixa o Chromium durante a instalação. Como uma biblioteca, o Puppeteer-core é completamente conduzido por sua interface programática. Além disso, os recursos do Puppeteer-core não podem ser personalizados por todas as variáveis ​​PUPPETEER_ * env. O comando básico para instalar o Puppeteer-core - 

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

Ao usar o puppeteer-core, as declarações de inclusão serão semelhantes a abaixo -

const puppeteer = require('puppeteer-core')

Quando usar o Puppeteer-Core:

  • Para desenvolver o projeto Puppeteer para usar o navegador Chrome existente sobre o protocolo DevTools, onde o download adicional do chromium não é necessário.
  • Para desenvolver outro produto de usuário final ou biblioteca sobre o protocolo DevTools. Por exemplo, um projeto pode construir um gerador de captura de tela usando puppeteer-core e escrever um script setup.js personalizado que baixa headless_shell em vez de Chromium para economizar armazenamento.

Pacote de titereiro:

Marionetista é um produto completo para automação do navegador Chrome ou Chromium. Durante a instalação, ele baixa a versão mais recente do Chromium e, depois disso, é dirigido pelo núcleo do titereiro. Como um produto para o usuário final, o Puppeteer suporta todas as variáveis ​​env PUPPETEER_ * para personalizar seu comportamento. O comando básico para instalar o Puppeteer - 

npm install puppeteer
# or "yarn add puppeteer"

Ao usar o Puppeteer, inclua instruções que serão parecidas com a abaixo -

puppeteer = require(‘puppeteer’)

Diferença entre Puppeteer e Puppeteer-core:

  • Puppeteer-core não baixa o navegador Chromium automaticamente durante a instalação.
  • O Puppeteer-core não considera todas as variáveis ​​PUPPETEER_ * env.
  • Na maioria dos projetos, estamos usando o pacote de produtos Puppeteer.

Chrome sem cabeça:

O cromo sem cabeça significa que o Puppeteer está interagindo com um navegador cromado como um aplicativo de fundo, o que significa que a IU do Chrome não está visível na tela. Por padrão, o Puppeteer inicia o aplicativo como cromo sem cabeça. Amostra de código para iniciar o Headless Chrome - 

Neste exemplo, estamos abrindo o cromo sem cabeça, ou seja, a IU do Chrome não ficará visível. Isso pode ser feito passando o sinalizador headless como true para o 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();
})();

Chrome de cabeça:

Headful chrome significa que o Puppeteer está interagindo com um navegador Chrome para o qual a IU do Chrome está visível na tela. Por padrão, o Puppeteer inicia o aplicativo como cromo sem cabeça. Amostra de código para iniciar o Headful Chrome - 

Neste exemplo, estamos abrindo o cromo, que é visível para nós. Isso pode ser feito passando o sinalizador headless como falso para o 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();
})();

Variáveis ​​de ambiente do titereiro

Puppeteer trabalha com variáveis ​​de ambiente predefinidas para apoiar suas operações. Se o Puppeteer não encontrar as variáveis ​​de ambiente durante a instalação, uma variante em minúsculas dessas variáveis ​​será usada a partir da configuração do npm (gerencia o arquivo de configurações do NPM). As variáveis ​​de ambiente não são consideradas pelo pacote Puppeteer-core. As variáveis ​​de ambiente mais importantes do Puppeteer são - 

  • PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: Ele instrui para não baixar o Chromium empacotado durante a etapa de instalação.
  • PUPPETEER_DOWNLOAD_HOST: Substitui o prefixo do URL que pode ser usado para fazer download do Chromium. 
  • PUPPETEER_DOWNLOAD_PATH: Sobrescreve o caminho da pasta de download. O caminho padrão é - “ /.local-chromium/ ”onde é a raiz do pacote do titereiro.
  • HTTP_PROXY, HTTPS_PROXY, NO_PROXY: Essas variáveis ​​definem as configurações de proxy para baixar o Chromium durante a instalação.
  • PUPPETEER_CHROMIUM_REVISION: Ele define uma versão específica do Chromium a ser usada pelo Puppeteer.
  • PUPPETEER_EXECUTABLE_PATH: Ele especifica um caminho executável a ser usado no método Puppeteer.launch. 
  • PUPPETEER_PRODUCT: Define qual navegador deve ser usado pelo Puppeteer. O valor deve ser chrome ou firefox. 

Conclusão:

Neste artigo introdutório sobre o tutorial do Puppeteer, aprendemos sobre a visão geral do Puppeteer e as variáveis ​​de ambiente do Puppeteer. No próximo artigo do tutorial do Puppeteer, aprenderemos sobre a visão geral do Puppeteer Web Scraping e da Puppeteer Test Automation. Por favor clique aqui para visitar o portal de referência para este tutorial do Puppeteer. Além disso, por favor clique aqui para aprender Selenium com LambdaGeeks.

Sobre K Mondal

Tutorial do Puppeteer - Um Excelente Guia de Aprendizagem do Tutorial 1 e 2 do PuppeteerOlá, sou K. Mondal e estou associado a uma organização líder. Tenho mais de 12 anos de experiência de trabalho em vários domínios, por exemplo, desenvolvimento de aplicativos, testes de automação, consultor de TI. Estou muito interessado em aprender diferentes tecnologias. Estou aqui para realizar minha aspiração e atualmente contribuindo como autor e desenvolvedor de sites na LambdaGeeks.
Conecte-se ao LinkedIn- https://www.linkedin.com/in/kumaresh-mondal/

Deixe um comentário

Seu endereço de email não será publicado.Os campos obrigatórios são marcados com *

en English
X