O navegador stealth da BrowserAct passou em um teste de detecção de bots que marcou a execução headless padrão do Playwright como um bot, embora ambos os scripts tenham completado o mesmo fluxo de login. O contraste mostra por que uma abordagem baseada em agentes pode ser mais segura quando você precisa interagir com sites que se protegem contra automação.
Por que o teste é importante
Ferramentas de automação impulsionam testes, coleta de dados e gerenciamento de contas. A maioria dos desenvolvedores recorre a frameworks baseados em seletores, como o Playwright, porque eles permitem escrever instruções precisas — "clique no botão com este seletor CSS" — e verificar resultados rapidamente. Sites modernos, no entanto, incorporam scripts que buscam por navegadores headless: uma string de user-agent genérica, a propriedade webdriver ou a ausência de padrões de interação semelhantes aos humanos. Quando esses sinais aparecem, o site bloqueia a requisição ou apresenta um CAPTCHA, neutralizando efetivamente o script.
Navegadores baseados em agentes tentam imitar um usuário humano sem depender de seletores pré-escritos. Eles tratam uma página como uma coleção de elementos acionáveis, escolhendo um por sua posição em um índice interno, em vez de um caminho CSS. O teste comparou as duas abordagens em uma página de login renderizada por JavaScript e em um site que verifica deliberadamente a presença de bots.
O experimento
Escrevi dois scripts que realizaram as mesmas etapas: carregar a página de login, inserir credenciais, enviar e chegar à página de inventário. Um script usou o Playwright em seu modo headless padrão; o outro usou o navegador stealth da BrowserAct, que mascara as impressões digitais (fingerprints) que acionam a detecção de bots.
Ambos os scripts se autenticaram em um site sandbox, provando que o fluxo principal de login funciona independentemente da ferramenta. A divergência apareceu quando os scripts visitaram uma página dedicada à detecção de bots que retorna uma flag JSON isBot. O Playwright reportou isBot: true, acionando cinco verificações de detecção distintas. A BrowserAct retornou isBot: false, indicando que a página o tratou como um visitante humano comum.
Identifiquei a diferença em dois detalhes técnicos. A configuração padrão do Playwright envia uma string de user-agent genérica e deixa a flag webdriver exposta — ambos fáceis de serem detectados por um script de detecção. O modo stealth da BrowserAct reescreve o user-agent, remove a propriedade webdriver e alinha sua impressão digital com a de um navegador de desktop típico.
Como as ferramentas diferem internamente
| Aspecto | Playwright (padrão) | BrowserAct (stealth) |
|---|---|---|
| Modelo de interação | Baseado em seletores, determinístico | Baseado em agentes, baseado em índice |
| Necessidade de seletores pré-escritos | Obrigatório; o script deve conhecer a estrutura exata do DOM | Não é necessário; o agente descobre elementos acionáveis em tempo de execução |
| Lida com mudanças de layout | Quebra se os seletores mudarem | Continua funcionando desde que as posições dos elementos permaneçam na lista indexada |
| Exposição a verificações de bots | User-agent e webdriver permanecem inalterados |
Impressões digitais deliberadamente mascaradas |
| Caso de uso típico | Sites internos, UI estável, ciclos de teste rápidos | Sites públicos com medidas anti-automação, páginas em constante mudança |
A tabela resume as compensações (trade-offs) práticas. O Playwright se destaca quando você controla o site e pode garantir identificadores de elementos estáveis. Um navegador baseado em agentes se destaca quando você não consegue prever a estrutura da página ou quando o site tenta ativamente bloquear scripts.
Quem se beneficia e quem está em risco
Desenvolvedores que constroem suítes de regressão para suas próprias aplicações podem manter os custos baixos e a velocidade de teste alta permanecendo com o Playwright. Sua natureza determinística aponta falhas diretamente para regressões de código, e a ausência de camadas extras de stealth reduz a complexidade.
Por outro lado, equipes que fazem scraping de dados, automatizam a criação de contas ou monitoram sites de concorrentes frequentemente encontram obstáculos porque as páginas de destino mudam com frequência ou incorporam detecção agressiva de bots. Nesses cenários, um navegador baseado em agentes evita o beco sem saída imediato de "você é um bot" e continua até os dados de que precisam.
Os custos ocultos do "funcionou"
Eu alerto que um código de saída (exit code) bem-sucedido não garante que a automação se comportou como pretendido. Na execução do Playwright, o script terminou sem lançar um erro, mas a página ainda considerou a requisição como um bot. O resultado foi uma falha oculta: etapas subsequentes que dependem de conteúdo exclusivo para humanos nunca receberam os dados esperados.
Para identificar tais falhas silenciosas, inspecione as evidências da página após cada execução: posição de rolagem, altura do documento e chamadas de rede. Se o DOM parecer diferente do que um humano veria, ou se o tráfego de rede incluir redirecionamentos inesperados para desafios de verificação, é provável que a automação não tenha atingido seu objetivo.
Conclusão
Se você é o proprietário do site e pode criar scripts baseados em seletores estáveis, o Playwright continua sendo a escolha pragmática — rápido, barato e fácil de integrar em pipelines de CI. Quando você enfrenta layouts desconhecidos, defesas anti-automação agressivas ou mudanças frequentes na interface do usuário, um navegador agente como o BrowserAct oferece uma rota mais resiliente. Não confie cegamente em uma execução bem-sucedida; verifique se a página se comportou como um humano se comportaria e escolha a ferramenta que corresponda ao perfil de risco do seu site de destino.
