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 .
Você pode adicionar puppeteer-core
ao seu site ou aplicativo usando um dos seguintes comandos:
npm i puppeteer-core
yarn add 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:
puppeteer-core
requer Nó v8.9.0 ou posterior. Verifique se você tem uma versão compatível do Node.js. Para fazer isso, executenode -v
a partir da linha de comando. Além disso, o exemplo a seguir usaasync
/await
, que só tem suporte no Nó v7.6.0 ou posterior.No exemplo de código a seguir,
puppeteer-core
inicia o Microsoft Edge, vai parahttps://www.microsoft.com/edge/download/insider
e salva uma captura de tela comoexample.png
. Copie o snippet de código a seguir e salve-o comoexample.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(); })();
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 doexecutablePath
Microsoft Edge deve ser definido como/Applications/Microsoft\ Edge\ Canary.app/
.Para localizar o
executablePath
, uma abordagem manual simples é acessaredge://version
e copiar o caminho executável nessa página.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
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();
Agora que você encontrou o caminho executável (manual ou programática), em
example.js
, definaexecutablePath: EDGE_PATH
. Salve suas alterações.Execute
example.js
a partir da linha de comando:node example.js
puppeteer-core
inicia o Microsoft Edge, vai parahttps://www.microsoft.com/edge/download/insider
e 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 porexample.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.
- WebDriver
- Entre em contato com a equipe do Microsoft Edge DevTools para enviar comentários sobre como usar Puppeteer, puppeteer-core e Microsoft Edge.
- Protocolo DevTools do Chrome (CDP) em Visão geral dos recursos e APIs do WebView2
- Usar o PROTOCOLO Chrome DevTools (CDP) em aplicativos WebView2