Compartilhar via


Visão geral do Puppeteer

A biblioteca Puppeteer fornece uma API de alto nível para controlar navegadores baseados em Chromium, incluindo o Microsoft Edge, usando o Protocolo DevTools.

O Puppeteer inicia navegadores sem cabeça por padrão. Navegadores sem cabeça não exibem uma interface do usuário (interface do usuário), portanto, você deve usar a linha de comando. Você também pode configurar o Puppeteer para executar o Microsoft Edge completo (sem cabeça).

Por padrão, quando você instala o Puppeteer, o instalador baixa uma versão recente do Chromium, o navegador de código aberto sobre o qual o Microsoft Edge também é criado.

Se você tiver o Microsoft Edge instalado, poderá usar o puppeteer-core. puppeteer-core é uma versão leve do Puppeteer que inicia uma instalação de navegador existente, como o Microsoft Edge. Para baixar o Microsoft Edge, acesse Baixar canais do Microsoft Edge Insider.

Puppeteer é uma biblioteca de nós .

Instalando o puppeteer-core

Você pode adicionar puppeteer-core ao seu site ou aplicativo usando um dos seguintes comandos:

npm i puppeteer-core
yarn add puppeteer-core

Iniciar o Microsoft Edge com o puppeteer-core

puppeteer-core é semelhante a outras estruturas de teste de navegador, como o WebDriver. Você cria uma instância do navegador, abre uma página da Web e manipula a página da Web usando a API do Puppeteer.

Para usar puppeteer-core para iniciar o Microsoft Edge:

  1. puppeteer-core requer Nó v8.9.0 ou posterior. Verifique se você tem uma versão compatível do Node.js. Para fazer isso, execute node -v a partir da linha de comando. Além disso, o exemplo a seguir usa async/await, que só tem suporte no Nó v7.6.0 ou posterior.

  2. No exemplo de código a seguir, puppeteer-core inicia o Microsoft Edge, vai para https://www.microsoft.com/edge/download/insidere salva uma captura de tela como example.png. Copie o snippet de código a seguir e salve-o 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 as próximas etapas para encontrar o caminho executável e, em seguida, altere executablePath para apontar para a instalação do Microsoft Edge. Por exemplo, no macOS, o canário do executablePath Microsoft Edge deve ser definido como /Applications/Microsoft\ Edge\ Canary.app/.

  4. Para localizar o executablePath, uma abordagem manual simples é acessar edge://version e copiar o caminho executável nessa página.

  5. Ou, para localizar programaticamente o caminho executável, primeiro instale o pacote de caminhos de borda executando um dos seguintes comandos:

    npm i edge-paths
    
    yarn add edge-paths
    
  6. Em seguida, se você estiver usando edge-paths para encontrar o caminho executável, execute o código como o exemplo a seguir. Ele usa o pacote de caminhos de borda para encontrar programaticamente o caminho para a instalação do Microsoft Edge no sistema operacional:

    const edgePaths = require("edge-paths");
    
    const EDGE_PATH = edgePaths.getEdgePath();
    
  7. Agora que você encontrou o caminho executável (manual ou programática), em example.js, defina executablePath: EDGE_PATH. Salve suas alterações.

  8. Execute example.js a partir da linha de comando:

    node example.js
    

    puppeteer-core inicia o Microsoft Edge, vai para https://www.microsoft.com/edge/download/insidere salva uma captura de tela da página da Web. Você pode personalizar o tamanho da captura de tela chamando page.setViewport().

    O arquivo a seguir example.png é produzido por example.js:

    O arquivo example.png produzido por example.js

O exemplo anterior demonstra cenários básicos de automação e teste que você pode cobrir usando Puppeteer e puppeteer-core. Para obter mais informações sobre Puppeteer e como ele funciona, marcar Puppeteer.

Consulte também

Artigos locais

Archive

Postagens de blog

Ferramentas

Protocolos

Informações