puppeteer-skill
Faz seu agente criar scripts para automatizar o navegador. Ele pode extrair informações de sites ou gerar arquivos PDF. Útil para coletar dados da web ou criar documentos.
O que ela faz
Esta ferramenta cria códigos para automatizar tarefas em navegadores web. Ela pode navegar em sites, preencher formulários, clicar em botões e até mesmo tirar 'prints' de páginas ou salvá-las como PDF.
Quando usar
- ✓Quando você quer que um robô visite um site e colete informações automaticamente.
- ✓Para preencher formulários em massa em um site.
- ✓Para transformar uma página da web em um arquivo PDF.
Exemplo do que pedir para a IA
“Crie um script que abra o site da Wikipedia, procure por 'gatos' e salve a página como PDF.”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você descreve a tarefa que quer automatizar, e a ferramenta gera um código usando uma biblioteca chamada Puppeteer. Esse código é como um conjunto de instruções para o navegador fazer o que você pediu.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill puppeteer-skillOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/puppeteer-skill/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Habilidade de Automação com Puppeteer
Quando Usar
Use esta habilidade quando precisar gerar scripts Puppeteer para automação de navegador, raspagem de dados (scraping) e geração de PDFs. Dispara com: "Puppeteer", "headless Chrome", "page.goto", "scrape", "geração de PDF".
Padrões Principais
Script Básico
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: 'new' });
const page = await browser.newPage();
await page.setViewport({ width: 1280, height: 720 });
await page.goto('https://example.com', { waitUntil: 'networkidle0' });
await page.type('#username', 'user@test.com');
await page.type('#password', 'password123');
await page.click('button[type="submit"]');
await page.waitForNavigation({ waitUntil: 'networkidle0' });
const title = await page.title();
console.log('Title:', title);
await browser.close();
})();
Estratégias de Espera
// Wait for selector
await page.waitForSelector('.result', { visible: true, timeout: 10000 });
// Wait for navigation
await Promise.all([
page.waitForNavigation({ waitUntil: 'networkidle0' }),
page.click('a.nav-link'),
]);
// Wait for function
await page.waitForFunction('document.querySelector(".count").innerText === "5"');
// Wait for network request
const response = await page.waitForResponse(resp =>
resp.url().includes('/api/data') && resp.status() === 200
);
Captura de Tela e PDF
await page.screenshot({ path: 'screenshot.png', fullPage: true });
await page.pdf({ path: 'page.pdf', format: 'A4', printBackground: true });
Interceptação de Rede
await page.setRequestInterception(true);
page.on('request', request => {
if (request.resourceType() === 'image') request.abort();
else request.continue();
});
// Mock API
page.on('request', request => {
if (request.url().includes('/api/data')) {
request.respond({
status: 200,
contentType: 'application/json',
body: JSON.stringify({ items: [] }),
});
} else request.continue();
});
TestMu AI Cloud
Para configuração completa, capacidades e referência de capacidades compartilhadas, veja reference/cloud-integration.md.
const capabilities = {
browserName: 'Chrome', browserVersion: 'latest',
'LT:Options': {
platform: 'Windows 11', build: 'Puppeteer Build',
user: process.env.LT_USERNAME, accessKey: process.env.LT_ACCESS_KEY,
},
};
const browser = await puppeteer.connect({
browserWSEndpoint: `wss://cdp.lambdatest.com/puppeteer?capabilities=${encodeURIComponent(JSON.stringify(capabilities))}`,
});
Referência Rápida
| Tarefa | Código |
|---|---|
| Iniciar com interface gráfica | puppeteer.launch({ headless: false }) |
| Avaliar JS | await page.evaluate(() => document.title) |
| Extrair texto | await page.$eval('.el', el => el.textContent) |
| Extrair tudo | await page.$$eval('.items', els => els.map(e => e.textContent)) |
| Definir cookie | await page.setCookie({ name: 'token', value: 'abc' }) |
| Emular dispositivo | await page.emulate(puppeteer.devices['iPhone 12']) |
Padrões Avançados → reference/playbook.md
| § | Seção | Linhas |
|---|---|---|
| 1 | Configuração e Preparação de Produção | Opções de inicialização, integração com Jest |
| 2 | Padrão de Objeto de Página | BasePage, LoginPage, DashboardPage |
| 3 | Interceptação de Rede e Mocking | Mock de requisição, captura de resposta |
| 4 | Estratégias de Espera | DOM, rede, condições personalizadas |
| 5 | Capturas de Tela, PDF e Mídia | Página inteira, recorte, PDF, vídeo |
| 6 | Autenticação e Cookies | Login via API, salvar/restaurar sessão |
| 7 | iFrame, Diálogos e Operações de Arquivo | Upload, download, diálogos |
| 8 | Desempenho e Métricas | Web Vitals, Lighthouse, cobertura |
| 9 | Testes de Acessibilidade | Integração com axe-core |
| 10 | Integração CI/CD | GitHub Actions, Docker |
| 11 | Referência Rápida de Debugging | 11 problemas comuns |
| 12 | Checklist de Melhores Práticas | 13 itens |
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente à sua origem (upstream) e ao contexto do projeto local.
- Verifique comandos, código gerado, dependências, credenciais e o comportamento de serviços externos antes de aplicar alterações.
- Não trate exemplos como substitutos para testes específicos do ambiente, revisão de segurança ou aprovação do usuário para ações destrutivas ou custosas.
Perguntas frequentes
O que é 'headless Chrome'?
É um navegador Chrome que roda sem mostrar a janela na tela, ideal para automação.
O que significa 'scraping'?
É o processo de extrair dados de sites automaticamente.
Posso usar isso para fazer login em sites?
Sim, o código gerado pode incluir passos para preencher nome de usuário e senha.
Detalhes
Descrição original do autor
Generates Puppeteer scripts for browser automation, scraping, and PDF generation. Triggers on: "Puppeteer", "headless Chrome", "page.goto", "scrape", "PDF generation".
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #3922
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark-optimization-loop
Faz seu agente melhorar a velocidade de algo de forma medida. Ele testa várias versões e escolhe a mais rápida que ainda funciona corretamente.
affaan-m/ECC
change-impact
Ajuda seu agente a analisar o impacto de mudanças no código antes de fazê-las. Ele compara o planejado com o real depois, cobrindo caminhos, dados, testes e documentação. É útil para mudanças arriscadas ou que afetam várias partes do sistema.
affaan-m/ECC
click-path-audit
Faz seu agente rastrear todos os botões e interações do usuário para achar bugs. Ele encontra problemas onde funções parecem funcionar sozinhas, mas falham juntas. Útil quando bugs persistem mesmo após depuração.
affaan-m/ECC