Visão geral do Puppeteer

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

O Puppeteer inicia navegadores headless por padrão. Os navegadores headless não exibem uma 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 periféricos).

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

Se você tiver o Microsoft Edge instalado, poderá usar puppeteer-core. puppeteer-core é uma versão leve do Puppeteer que inicia uma instalação de navegador existente, como o Microsoft Edge. Para baixar um canal de visualização do Microsoft Edge (Beta, Dev ou Canary), acesse Torne-se um Microsoft Edge Insider.

Puppeteer é uma biblioteca Node .

Instalando o puppeteer-core

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

npm i puppeteer-core
yarn add puppeteer-core

Iniciar o Microsoft Edge com 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 o Node v8.9.0 ou posterior. Certifique-se de ter 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 abaixo usa async/await, que só tem suporte no Node v7.6.0 ou posterior.

  2. Na amostra 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 seguinte trecho de código 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 localizar o caminho do executável e, em seguida, altere executablePath para apontar para a instalação do Microsoft Edge. Por exemplo, no macOS, o para o executablePath Microsoft Edge Canary deve ser definido como /Applications/Microsoft\ Edge\ Canary.app/.

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

  5. Ou, para localizar programaticamente o caminho executável, primeiro instale o pacote edge-paths executando um dos seguintes comandos:

    npm i edge-paths
    
    yarn add edge-paths
    
  6. Em seguida, se você estiver usando edge-paths para localizar o caminho executável, execute o código como o exemplo a seguir. Ele usa o pacote edge-paths 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 programaticamente), 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 pelo example.js

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

Consulte também

Archive

Postagens de blog

Ferramentas

Protocolos

Informações