المهارات browser-automation
📦

browser-automation

آمن

Crie Scripts de Automação de Navegador Confiáveis

متاح أيضًا من: EmilLindfors

Testes de navegador instáveis desperdiçam horas de depuração. Aprenda padrões Playwright para seletores estáveis, esperas inteligentes e automação resistente à detecção.

يدعم: Claude Codex Code(CC)
🥉 74 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "browser-automation". Teste falha com erro de elemento não encontrado no botão de login

النتيجة المتوقعة:

Substitua seletor CSS com getByRole: await page.getByRole('button', { name: 'Sign in' }).click(). Playwright aguarda automaticamente o elemento estar acionável.

استخدام "browser-automation". Testes passam individualmente mas falham quando executados juntos

النتيجة المتوقعة:

Crie contexto de navegador fresco por teste usando test.beforeEach com context = await browser.newContext(). Isso isola cookies e localStorage entre testes.

التدقيق الأمني

آمن
v1 • 2/25/2026

Static analysis produced false positives on markdown content. Backticks on line 71 are inline code formatting, not shell execution. No cryptographic code exists on lines 3 or 74. This is purely instructional documentation with no executable security risks.

1
الملفات التي تم فحصها
75
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
91
الامتثال للمواصفات

ماذا يمكنك بناءه

Arquitetura de Testes E2E

Construa testes de ponta a ponta confiáveis que executam consistentemente em pipelines CI/CD sem falhas instáveis.

Sistemas de Web Scraping

Crie scrapers que lidam com conteúdo dinâmico, evitam detecção e executam a longo prazo sem quebrar.

Interação de Agente IA com Navegador

Habilite agentes IA a interagir com interfaces web de forma confiável usando estratégias de espera e seletores adequados.

جرّب هذه الموجهات

Iniciante: Corrigir Seletor de Teste Instável
Tenho um teste instável que falha ao tentar clicar em um botão. O teste usa seletores CSS mas às vezes o elemento não é encontrado. Me ajude a reescrever usando localizadores voltados ao usuário e padrões de espera adequados.
Intermediário: Construir Isolamento de Teste
Meus testes estão interferindo uns nos outros porque compartilham estado do navegador. Mostre como estruturar minha suíte de testes para que cada teste execute em isolamento completo com cookies, storage e contexto frescos.
Avançado: Scraping Anti-Detecção
Preciso fazer scraping de um site que usa detecção de bots. Me guie na implementação de técnicas stealth, delays adequados entre requisições e tratamento de diálogos popup que aparecem inesperadamente.
Expert: Depurar Falha de Teste com Traces
Meu teste falha intermitentemente no CI mas passa localmente. Me ajude a configurar coleta de traces, definir configurações de viewport consistentes e analisar a falha para identificar a causa raiz.

أفضل الممارسات

  • Use localizadores voltados ao usuário como getByRole, getByText e getByLabel em vez de seletores CSS ou XPath frágeis
  • Confie no mecanismo de espera automática do Playwright em vez de adicionar timeouts manuais ou chamadas sleep
  • Execute cada teste em um contexto de navegador fresco para garantir isolamento completo e prevenir vazamento de estado

تجنب

  • Adicionar chamadas arbitrárias de waitForTimeout em vez de aguardar por condições específicas
  • Usar seletores CSS ou XPath como primeira escolha em vez de localizadores semânticos voltados ao usuário
  • Compartilhar um único contexto de navegador entre múltiplos testes o que causa poluição de estado

الأسئلة المتكررة

Por que meus testes falham intermitentemente no CI mas passam localmente?
Ambientes CI têm características de timing diferentes. Use esperas adequadas para elementos estarem acionáveis, habilite coleta de traces para depuração e garanta que cada teste tenha isolamento completo.
Qual é a diferença entre seletores CSS e localizadores voltados ao usuário?
Localizadores voltados ao usuário como getByRole refletem como usuários interagem com sua app e são mais resilientes a mudanças de UI. Seletores CSS acoplam testes a detalhes de implementação que podem mudar durante refatoração.
Como faço meu scraper evitar detecção de bots?
Adicione delays realistas entre requisições, use plugins stealth para mascarar assinaturas de automação, rotacione user agents e mimetize padrões de interação humanos com movimentos de mouse.
Devo usar Playwright ou Puppeteer para meu projeto?
Playwright suporta múltiplos navegadores e tem espera automática embutida. Puppeteer é focado no Chrome mas mais leve. Escolha Playwright para testes cross-browser, Puppeteer para necessidades apenas Chrome.
Como trato diálogos popup que aparecem durante os testes?
Aguarde o diálogo popup aparecer antes de disparar a ação que o abre. Use handlers de evento page.on('dialog') ou waitForEvent para capturar e tratar diálogos adequadamente.
Que tamanho de viewport devo usar para testes?
Defina um tamanho de viewport consistente across todos testes usando browser.newContext({ viewport: { width: 1280, height: 720 } }). Isso garante layouts reprodutíveis e comparações de screenshot.

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md