Comparar dois ficheiros HTML no Power Automate
Se já tentaste “comparar HTML” no Power Automate, já deves ter percebido rapidamente o problema:
HTML não é texto simples.
Pequenas diferenças invisíveis — espaços extra, quebras de linha, atributos em ordem diferente, IDs dinâmicos, timestamps escondidos em comentários — fazem dois ficheiros visualmente idênticos parecerem completamente diferentes para o motor de comparação.
A boa notícia?
👉 Dá para fazer isto bem, desde que escolhas a abordagem certa.
Primeiro passo: o que queres realmente comparar?
Antes de começares a construir o fluxo, define claramente o objetivo. Parece óbvio, mas é aqui que muitos projetos falham.
Pergunta-te:
- Quero saber se o HTML é exatamente igual (byte a byte)?
- Quero saber se o conteúdo é o mesmo, ignorando formatação?
- Quero identificar o que mudou (diff) para registar ou enviar alertas?
Cada objetivo exige uma estratégia diferente.
Opção A — Igualdade “exata” (rápida e simples)
Quando usar
Quando os ficheiros são gerados de forma controlada:
- Mesmo sistema de origem
- Mesmo template
- Sem elementos dinâmicos
- Sem timestamps automáticos
Lógica do processo (alto nível)
- Obter o conteúdo dos dois ficheiros
(SharePoint, OneDrive, email, HTTP request, etc.) - Converter para texto (caso venha em binário)
- Comparar diretamente as duas strings
Exemplo de condição no Power Automate
TextoHTML_1 é igual a TextoHTML_2
Problema comum
Basta existir:
- Um espaço extra
- Uma quebra de linha diferente
- Um comentário com timestamp
- Um atributo em ordem diferente
… e a comparação falha, mesmo que visualmente os ficheiros sejam iguais.
Conclusão: útil apenas em cenários muito controlados.
Opção B — Normalizar antes de comparar (a mais útil no mundo real)
Esta é, de longe, a abordagem mais prática no dia a dia.
A ideia é simples:
👉 limpar o “ruído” do HTML antes da comparação.
Ou seja, transformar os dois ficheiros numa versão mais previsível e estável.
Técnicas de normalização que funcionam bem
Estas técnicas resolvem a maioria dos casos práticos:
- Remover quebras de linha (\r, \n)
- Remover tabs (\t)
- Reduzir múltiplos espaços para um só
- Converter tudo para lowercase (em certos cenários)
- Remover partes dinâmicas:
- IDs gerados automaticamente
- Tokens
- Timestamps
- GUIDs
Exemplos práticos de expressões no Power Automate
Assumindo que já tens duas variáveis de texto:
- html1
- html2
Remover quebras de linha e tabs
replace(
replace(
replace(variables(‘html1’), ‘\r’, ”),
‘\n’, ”
),
‘\t’, ”
)
Repete o mesmo para html2.
Reduzir espaços duplos
Infelizmente, o Power Automate não tem regex nativa, por isso por vezes é necessário aplicar o replace várias vezes:
replace(<texto>, ‘ ‘, ‘ ‘)
Em casos mais problemáticos, aplicas esta operação 2 ou 3 vezes em sequência.
Converter para lowercase (opcional)
toLower(<texto_normalizado>)
Útil quando não te interessa distinguir entre maiúsculas e minúsculas nos elementos HTML.
Comparação final
Depois de normalizares ambos os textos:
- html1_normalizado
- html2_normalizado
A comparação torna-se muito mais fiável:
html1_normalizado é igual a html2_normalizado
E de repente, aquilo que antes parecia impossível começa a funcionar com consistência.
Conclusão
Comparar HTML no Power Automate não é um problema técnico — é um problema de abordagem.
Se comparares HTML “em bruto”, vai haver falsos positivos constantemente.
Se normalizares primeiro, consegues construir fluxos robustos e confiáveis.
A regra prática é simples:
Nunca compares HTML antes de o tornares previsível.
clicopt
Search
Artigos Recentes
- EuroVault360 | Gestão Financeira Inteligente
- Aprender formas nunca foi tão divertido!
- Cansado de formulários em PDF? Crie uma app simples com Power Apps
- Comparar dois ficheiros HTML no Power Automate
- Como Criar E-mails Automáticos de Aniversário no Power Automate
- Guia Prático: Espelhar Todas as Listas do SharePoint com Power Automate
- Power BI vs Excel: Quando Usar Cada Ferramenta?
- PowerApps: O Manual Essencial para Criar Apps de Forma Fácil e Transformadora
- Power Automate: A Forma Mais Rápida de Automatizar Tarefas e aumentar a Produtividade
- Guia de Estudo para a Certificação Power BI