Hoje em dia, o Puppeteer está recebendo mais atenção como uma ferramenta de raspagem da web. Devido à simplicidade, à disponibilidade como ferramenta de código aberto e à capacidade de desenvolver aplicativos de página única, o Puppeteer está ganhando popularidade. Antes de começar a aprender sobre a ferramenta de web scraping Puppeteer, devemos ter um conhecimento básico da linha de comando, Javascript e estrutura HTML DOM. O Tutorial de marionetista foi dividido em alguns artigos que são especificados 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 de Tutorial do Titereiro, discutiremos o Puppeteer Web Scraping com um exemplo e uma visão geral da automação do Puppeteer Test.
Raspagem da Web do Titereiro
O processo de extração de dados de qualquer página da web é chamado de web scraping. A extração da Web tem duas etapas. Em primeiro lugar, ele busca a página da web e, em seguida, extrai os dados. Após a extração dos dados, podemos usá-los para qualquer API ou armazená-los em um arquivo CSV.
Puppeteer é uma das melhores ferramentas para suportar web scraping para o navegador Google Chrome ou Chromium. A raspagem da teia do titereiro é explicada em detalhes com o exemplo abaixo -
Exemplo básico de extração da Web do Puppeteer:
Passo 1# O Puppeteer funciona na biblioteca Node JS. Portanto, o primeiro passo é incluir a biblioteca do titereiro antes de escrever o script para web scraping.
const puppeteerObj = require("puppeteer");
Passo 2# Depois de incluir a classe Puppeteer, precisamos escrever uma função assíncrona usando a palavra-chave await. É necessário porque o Titereiro usa promessas. Em seguida, chame o método Puppeteer.launch () para invocar o navegador e chame o método newPage () para criar uma instância de página da web.
const browserWeb = await puppeteerObj.launch();
const pageWeb = await browserWeb.newPage();
Passo 3# Agora chame o método page.goto () para fornecer a URL do site desejado.
await pageWeb.goto("https://techiescience.com/");
Passo 4# Use o método page.evaluate () para capturar o texto de qualquer elemento específico (neste exemplo, capturaremos o texto do cabeçalho).
const data = await pageWeb.evaluate(() => {
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };
Discutiremos como identificar qualquer objeto da tela da web no próximo tutorial.
Passo 5# Nesta última etapa, precisamos processar os dados e, em seguida, fechar a página da web. O código completo do Puppeteer Web Scraping será semelhante a abaixo -
const puppeteer = require("puppeteer");
async function scrap() {
// Launch the browser
const browserApp = await puppeteer.launch();
// Create a page instance
const pageApp = await browserApp.newPage();
// invoke the web page for scraping
await pageApp.goto("https://techiescience.com/");
// Select any web element
const data = await pageApp.evaluate(() => {
const header = document.querySelector(".uabb-heading-text").innerText;
return { header };
// Here we can do anything with this data. Here displaying the data
console.log(header);
//We close the browser
await browserApp.close();
}
Scrap();
Passo 6# Agora, podemos executar este código de web scraping de puppeteer usando o comando: nó index.js
Observação: No próximo artigo, “Instalar o Puppeteer,” discutiremos a configuração da instalação do Puppeteer e executar o código do Puppeteer Web Scraping acima.
Visão geral da automação de teste do titereiro
Além de web scraping, o Puppeteer tem os recursos para realizar as atividades abaixo também,
- Capture as imagens de páginas da web.
- Podemos salvar a tela da página da web como um arquivo pdf.
- A automação de etapas manuais pode ser alcançada para realizar testes de IU.
Assim, combinando todos os recursos acima, podemos usar o Puppeteer para automação de teste. Para entender a automação de teste do Puppeteer, primeiro, precisamos nos familiarizar com o teste de software.
Visão geral do teste:
O teste é necessário para garantir que todos os requisitos de software sejam atendidos sem quaisquer problemas. Diferentes tipos de ciclos de teste estão disponíveis desde o início do processo de desenvolvimento de software. O software pode ser testado manualmente ou por meio de abordagem automatizada.
Os objetivos do teste de software são -
- Verifique a qualidade dos produtos.
- Encontre os bugs do produto antes da implantação da produção.
- A verificação dos requisitos foi satisfeita.
- Testando o desempenho do produto.
Os tipos de teste são explicados aqui -
Teste de Unidade - Os desenvolvedores são os responsáveis por realizar os testes de unidade durante a fase de desenvolvimento do código.
Teste de integração - Este teste é necessário após a integração dos diferentes componentes do produto de software. O objetivo principal é garantir que todas as interfaces estejam funcionando perfeitamente.
Teste do sistema - É um teste detalhado que deve ser feito após a integração para garantir que todos os requisitos sejam atendidos.
Teste de Aceitação - É também um teste detalhado que deve ser feito pelo usuário final do produto para garantir a qualidade.
Teste de regressão - É necessário para garantir que o processo de negócios principal funcione sem problemas durante qualquer aprimoramento de software.
Vantagens da automação de teste:
- Reduza o ciclo de execução.
- Evite as chances de erros humanos.
- Minimize os esforços de execução de teste.
- Lançamento rápido de software.
- Aumente a cobertura de teste para reduzir o risco.
- Capacidade de executar execução paralela.
Por que Puppeteer?
A maioria das operações manuais realizadas no navegador Chrome pode ser automatizada usando o Puppeteer. Portanto, o Puppeteer é uma boa escolha para testes de unidade em aplicativos da web de maneira rápida e fácil.
As limitações de Puppeteer como uma ferramenta de teste de automação são –
- Suporta apenas os navegadores Chrome e Chromium.
- O teste do navegador Coss não é possível.
- O teste móvel não pode ser feito.
Teste do Chrome sem cabeça:
O navegador sem cabeça significa que o Puppeteer está interagindo com um navegador Chrome como um aplicativo de segundo plano, o que significa que a IU do Chrome não fica visível na tela. Portanto, o teste de cromo sem cabeça significa que o teste de automação deve ser executado em um navegador oculto. Além disso, após o teste de cromo sem cabeça, o Puppeteer é capaz de capturar a tela da web corretamente.
Titereiro vs Selênio
A comparação entre Puppeteer e Selenium como uma ferramenta de teste de automação é explicada abaixo -
- Suporte à linguagem de programação - Puppeteer suporta apenas JavaScript, onde Selenium suporta linguagens Java, Python, Node.js e C #.
- Suporte do navegador - Puppeteer é aplicável apenas para os navegadores Chrome ou Chromium, mas o Selenium também suporta os navegadores Chrome, Mozilla, Safari, IE e Opera.
- Suporte da comunidade - Suporte da comunidade restrito a Grupos do Google, GitHub e Stack Overflow para o Puppeteer. Mas para Selenium, um amplo suporte da comunidade em vários fóruns está disponível.
- Velocidade de execução - A execução do script do Puppeteer é mais rápida do que o Selenium.
- Instalação e configuração - A instalação e configuração do Puppeteer é um processo mais fácil e simples.
- Suporte multiplataforma - O titereiro não o apóia, mas o Selênio pode.
- Gravando - Os recursos de gravação não estão disponíveis no Puppeteer. Mas esse recurso está disponível para Selenium IDE.
- Capturas de tela - Puppeteer tem a capacidade de fazer uma captura de tela como uma imagem ou formato PDF, onde o Selenium pode suportar apenas o formato de imagem.
- Suporte à plataforma de teste – O Puppeteer suporta apenas navegadores da web, mas o Selenium pode automatizar a web e celular com Appium.
- Habilidades de codificação - É necessário para o driver da Web Puppeteer Selenium, mas não para o Selenium IDE.
Com base na comparação acima, podemos concluir que o Puppeteer fará a melhor escolha quando tivermos que realizar testes de nível de unidade para qualquer aplicativo da Web em que uma solução rápida e flexível seja necessária. A outra ferramenta, o Selenium, será a melhor escolha quando houver necessidade de aplicativo móvel e multiplataforma teste de aplicativos. Clique SUA PARTICIPAÇÃO FAZ A DIFERENÇA para aprender Selenium com LambdaGeeks.
Conclusão:
Neste artigo introdutório sobre Tutorial do Titereiro, aprendemos sobre a visão geral do Puppeteer Web Scraping e da Automação de Teste do Puppeteer. Aprenderemos sobre o guia passo a passo para instalar o Puppeteer e executar um pequeno script no próximo artigo do Puppeteer. Por favor clique SUA PARTICIPAÇÃO FAZ A DIFERENÇA para visitar o portal de referência para este Tutorial do Puppeteer.
Olá, sou K. Mondal e estou associado a uma organização líder. Tenho mais de 12 anos de experiência profissional em domínios, por exemplo, desenvolvimento de aplicativos, testes de automação, consultor de TI. Estou muito interessado em aprender diferentes tecnologias. Estou aqui para cumprir minha aspiração e atualmente contribuindo como autor e desenvolvedor de sites no LambdaGeeks.
Vamos nos conectar através do LinkedIn-