Compartilhar via


Visão geral do Puppeteer

A biblioteca puppeteer fornece uma API de alto nível para controlar browsers baseados em Chromium, incluindo o Microsoft Edge, através do Protocolo DevTools.

O Puppeteer inicia browsers sem cabeça por predefinição. Os browsers sem cabeça não apresentam uma interface de utilizador (IU), pelo que tem de utilizar a linha de comandos. Também pode configurar o Puppeteer para executar o Microsoft Edge completo (sem cabeça).

Por predefinição, quando instala o Puppeteer, o instalador transfere uma versão recente do Chromium, o browser open source no qual o Microsoft Edge também é criado.

Se tiver o Microsoft Edge instalado, pode utilizar puppeteer-core. puppeteer-core é uma versão simples do Puppeteer que inicia uma instalação de browser existente, como o Microsoft Edge. Para transferir um canal de pré-visualização do Microsoft Edge (Beta, Dev ou Canary), aceda a Tornar-se um Microsoft Edge Insider.

Puppeteer é uma biblioteca de Nós .

Instalar puppeteer-core

Pode adicionar puppeteer-core ao seu site ou aplicação através de um dos seguintes comandos:

npm i puppeteer-core
yarn add puppeteer-core

Iniciar o Microsoft Edge com puppeteer-core

puppeteer-core é semelhante a outras arquiteturas de teste do browser, como o WebDriver. Crie uma instância do browser, abra uma página Web e, em seguida, manipule a página Web com a API puppeteer.

Para utilizar puppeteer-core para iniciar o Microsoft Edge:

  1. puppeteer-core requer Node v8.9.0 ou posterior. Certifique-se de que tem uma versão compatível do Node.js. Para tal, execute node -v a partir da linha de comandos. Além disso, o exemplo abaixo utiliza async/await, que só é suportado no Node v7.6.0 ou posterior.

  2. No seguinte exemplo de código, puppeteer-core inicia o Microsoft Edge, vai para https://www.microsoft.com/edge/download/insidere guarda uma captura de ecrã como example.png. Copie o fragmento de código seguinte e guarde-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 os passos seguintes 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 executablePath para Microsoft Edge Canary deve ser definido como /Applications/Microsoft\ Edge\ Canary.app/.

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

  5. Em alternativa, para localizar programaticamente o caminho executável, instale primeiro o pacote edge-paths ao executar um dos seguintes comandos:

    npm i edge-paths
    
    yarn add edge-paths
    
  6. Em seguida, se estiver a utilizar edge-paths para encontrar o caminho executável, execute código como o seguinte exemplo. Utiliza o pacote edge-paths para encontrar programaticamente o caminho para a instalação do Microsoft Edge no seu SO:

    const edgePaths = require("edge-paths");
    
    const EDGE_PATH = edgePaths.getEdgePath();
    
  7. Agora que 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 comandos:

    node example.js
    

    puppeteer-core inicia o Microsoft Edge, acede a https://www.microsoft.com/edge/download/insidere guarda uma captura de ecrã da página Web. Pode personalizar o tamanho da captura de ecrã ao chamar page.setViewport().

    O seguinte example.png ficheiro é produzido pelo example.js:

    O ficheiro example.png produzido por example.js

O exemplo anterior demonstra cenários básicos de automatização e teste que pode abranger com o Puppeteer e puppeteer-coreo . Para obter mais informações sobre o Puppeteer e como funciona, marcar puppeteer.

Consulte também

Archive

Postagens de blog

Ferramentas

Protocolos

Informações