O que puppeteer-automation faz?
Orientação especializada para automação de navegadores usando Puppeteer com melhores práticas para raspagem web, testes, captura de capturas de tela e execução de JavaScript no Chrome headless.
Visão Geral
Este skill fornece diretrizes avançadas para usar a biblioteca Puppeteer no controle programático de navegadores Chromium. Ele abrange desde configurações iniciais até técnicas de otimização, garantindo scripts confiáveis e de fácil manutenção.
Funcionalidades
- Raspagem Web: Extraia dados de páginas dinâmicas e estáticas com seletores CSS, XPath ou extração de conteúdo via DOM.
- Testes Automatizados: Simule interações de usuário, preencha formulários, clique em botões e valide resultados.
- Captura de Screenshots: Capture imagens de páginas inteiras, elementos específicos ou regiões visíveis.
- Execução de JavaScript: Injete e avalie scripts no contexto da página para manipular DOM, alterar estado ou coletar informações.
Plataformas Suportadas
- Claude Code
- Cursor
- Codex
Como Usar
- Instale o Puppeteer via npm:
npm install puppeteer - Inicie um navegador headless:
const puppeteer = require('puppeteer'); const browser = await puppeteer.launch({ headless: true }); const page = await browser.newPage(); - Navegue para a URL desejada e execute ações:
await page.goto('https://exemplo.com'); const titulo = await page.title(); console.log(titulo); await browser.close();
Melhores Práticas
| Aspecto | Recomendação |
|---|---|
| Seletores | Prefira seletores CSS estáveis em vez de XPath complexos. |
| Gerenciamento | Sempre feche o navegador com browser.close(). |
| Timeouts | Defina timeouts razoáveis para navegação e espera. |
| Headless | Use headless: 'shell' para evitar detecção. |
| Tratamento de Erro | Capture exceções com try...catch ao redor das operações. |
Exemplos
Captura de Screenshot
const puppeteer = require('puppeteer');
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://exemplo.com');
await page.screenshot({ path: 'screenshot.png', fullPage: true });
await browser.close();
Extrair Links
const links = await page.evaluate(() => {
return Array.from(document.querySelectorAll('a')).map(a => a.href);
});
Recursos Adicionais
Nota: Este skill é mantido pela comunidade mindrally. Contribuições e feedback são bem-vindos.