Playwright para JavaScript (Node.js): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Playwright para JavaScript (Node.js): guia completo com exemplos

Playwright é uma biblioteca moderna de código aberto para automação de navegadores, desenvolvida pela Microsoft. Ela fornece uma API unificada para controlar Chromium, Firefox e WebKit (motor do Safari) através do protocolo DevTools. Diferente do Selenium, o Playwright foi projetado desde o início para funcionar com aplicações web modernas e oferece suporte a cenários como interceptação de requisições de rede, emulação de dispositivos móveis, trabalho com múltiplas páginas e abas, além de espera automática por elementos.

O principal objetivo do Playwright é o teste end-to-end (E2E) de aplicações web. No entanto, suas capacidades vão muito além dos testes: a biblioteca é usada para scraping de sites dinâmicos (SPA), automação de tarefas repetitivas (como preenchimento de formulários), criação de screenshots e relatórios em PDF, além de monitoramento de desempenho de páginas web. Com suporte a todos os três principais motores de navegador, você pode ter certeza de que sua aplicação funciona corretamente em qualquer ambiente.

A principal vantagem do Playwright sobre concorrentes é a velocidade e confiabilidade. A biblioteca usa uma arquitetura assíncrona baseada em promessas, aguarda automaticamente o aparecimento de elementos (sem necessidade de escrever sleep()), e também lida com iframes, pop-ups e interceptação de mensagens do console do navegador. O Playwright também oferece um gerador de testes integrado (codegen), que grava suas ações no navegador e as transforma em código pronto.

Instalação do Playwright

Para instalar o Playwright em um projeto Node.js, execute os seguintes comandos no terminal:

npm init -y
npm install playwright
npx playwright install

O primeiro comando cria o arquivo package.json, o segundo instala a biblioteca em si, e o terceiro baixa os navegadores (Chromium, Firefox e WebKit). Se você quiser instalar apenas um navegador, use npx playwright install chromium.

Para TypeScript, instale também os tipos:

npm install -D @playwright/test

Se você estiver usando o Playwright como framework de testes, é recomendável instalar o @playwright/test, que inclui o executor de testes, fixtures e configuração.

Início rápido: exemplo mínimo funcional

Crie um arquivo exemplo.js e cole o seguinte código:

const { chromium } = require('playwright');

(async () => {
  // Inicia o navegador (headless: true — sem interface gráfica)
  const browser = await chromium.launch({ headless: true });
  // Cria uma nova página (aba)
  const page = await browser.newPage();
  
  // Navega para o site
  await page.goto('https://exemplo.com');
  
  // Obtém o título da página
  const titulo = await page.title();
  console.log('Título da página:', titulo);
  
  // Tira um screenshot
  await page.screenshot({ path: 'exemplo.png' });
  
  // Fecha o navegador
  await browser.close();
})();

Execute o script com o comando node exemplo.js. Como resultado, você verá o título da página no console, e um arquivo exemplo.png com o screenshot será criado na pasta.

Este exemplo demonstra o ciclo básico de trabalho com Playwright: iniciar o navegador, criar uma página, navegar, interagir com o DOM e fechar.

Principais métodos e classes do Playwright

Abaixo estão os principais métodos e classes da biblioteca. Para cada um, são fornecidos a assinatura, uma breve descrição e um exemplo prático.

1. browser.newPage()

Assinatura: async browser.newPage(options?: BrowserContextOptions): Promise<Page>

Descrição: Cria uma nova página (aba) no contexto atual do navegador. Cada página é isolada das outras — elas

Recommendations