n8n + Playwright — scraping renderizado sem frota de navegadores
O DiffHook executa Playwright por você a cada checagem, espera a página terminar de renderizar, faz o diff do resultado e envia as mudanças para o n8n por um webhook assinado. Sem Chromium headless para instalar, sem plugins stealth para corrigir.
Raspar uma SPA React ou Vue a partir do n8n normalmente significa juntar o nó Browserless, uma imagem Docker customizada com Playwright instalado ou uma API de scraping de terceiros com sua própria dança de auth e rate limit. Todas colocam um navegador dentro do seu deploy do n8n. O DiffHook inverte o modelo: o navegador roda do nosso lado, totalmente gerenciado, e só o diff atravessa a rede — o resto continua sendo o mesmo padrão webhook do n8n.
O hub completo de n8n + DiffHook
Todas as receitas, templates e planos de n8n em um só lugar.
Fluxo
Conecte diffs renderizados por Playwright ao n8n em 5 passos
Sem imagem Docker, sem crédito no Browserless, sem instalação de Playwright. O navegador mora dentro do DiffHook.
Exponha um webhook do n8n
Crie ou reaproveite um fluxo n8n com um nó disparador Webhook. Copie a URL de produção — o DiffHook vai entregar nela sempre que o DOM renderizado mudar.
Escolha html_rendered e o motor Playwright
Defina type como html_rendered e render.engine como playwright. Adicione wait_for_selector ou wait_until: networkidle para que o DiffHook só tire o snapshot depois que a app cliente assentar.
Isole o alvo com um seletor CSS
Depois que o Playwright termina o render, o DiffHook aplica o seletor no DOM resolvido. Um seletor apertado mantém o diff focado e evita que fluxos n8n disparem por mudanças de UI irrelevantes.
Registre o monitor
Um POST em /v1/monitors com URL, configuração de render, seletor, intervalo e o webhook do n8n como entrega. O DiffHook agenda as execuções do navegador e guarda em cache o último DOM válido.
Receba o diff pós-render no n8n
A cada mudança, o trigger Webhook do n8n dispara com previous_value, current_value e os metadados de render. Verifique o HMAC e roteie o diff para os nós seguintes como faria com uma página estática.
Exemplo de API
Monitor renderizado por Playwright em um POST
render.engine escolhe o navegador — troque para puppeteer quando quiser. wait_for_selector mantém o snapshot estável em páginas cheias de JS.
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json
{
"type": "html_rendered",
"url": "https://spa.example.com/dashboard",
"render": { "engine": "playwright", "wait_for_selector": ".data-loaded" },
"css_selector": "#metric-value",
"interval_seconds": 600,
"deliveries": [
{
"type": "webhook",
"url": "https://n8n.yourdomain.com/webhook/rendered-change"
}
]
}Fluxo importável
Comece com um fluxo n8n pronto
O template verifica o HMAC, pega o texto extraído do DOM renderizado e publica um resumo limpo no Slack. Importe, cole a chave, pronto.
Perguntas frequentes
n8n Playwright — perguntas comuns
Quando escolher Playwright em vez do motor HTML comum?
Como o DiffHook decide que a página terminou de renderizar?
Posso passar headers ou cookies customizados para o Playwright?
O Playwright pesa mais nos limites do plano?
E quanto a CAPTCHAs e proteção antibot?
Fluxos relacionados
Também ótimos com o DiffHook
n8n + Puppeteer
O mesmo padrão de scraping renderizado com Puppeteer — útil quando um site se comporta diferente sob Chromium.
Web scraping n8n
Scraping de HTML estático para páginas que não precisam de navegador — mais barato e rápido quando dá.
Webhook n8n
Aprofunde verificação HMAC, retries e replay na página genérica de n8n-webhook.
Web scraping Zapier
Mesmo motor renderizado, Zapier como destino — forma de monitor idêntica, URL de webhook diferente.
Web scraping Make.com
Mande o diff pós-render para o módulo webhook do Make.com para rotear em low-code.
Substituir um script de scraping
Migrando de um script Playwright + cron? Veja o monitor gerenciado lado a lado.
Pare de hospedar um navegador só para diferenciar uma página
Scraping renderizado, motores Playwright e Puppeteer, webhooks assinados com HMAC, plano gratuito. Comece em menos de um minuto.