Como Criar um Bot Playwright com Rotação de Proxy para Autenticações Complexas

Automatizar tarefas repetitivas em navegadores web é um desafio comum em operações modernas, mas a complexidade aumenta drasticamente quando o fluxo envolve telas de login com múltiplas etapas de autenticação e restrições severas de IP. Plataformas modernas detectam padrões de tráfego atípicos, resultando em captchas, bloqueios temporários ou suspensão de contas quando requisições sucessivas partem do mesmo endereço.

Para superar essas barreiras de forma confiável, a combinação de Playwright em Python com uma arquitetura de rotação dinâmica de proxies e persistência inteligente de sessão representa o padrão técnico ideal.

O Problema dos Fluxos Sequenciais com Autenticação

Em um pipeline tradicional, o bot precisa acessar a tela de login, submeter credenciais, lidar com etapas adicionais de verificação (como tokens ou redirecionamentos de múltiplos fatores) e só então prosseguir com a extração ou execução das tarefas programadas.

Se o mesmo endereço de IP for reutilizado de maneira previsível ou repetitiva, os sistemas de segurança da aplicação de destino aplicam mecanismos de rate limiting. Por outro lado, trocar de proxy a cada clique quebra a sessão do usuário, exigindo um novo login a cada etapa e inviabilizando a operação.

A solução técnica exige desacoplar a rotação de IP da persistência da sessão autenticada.

Arquitetura de Rotação por Contexto no Playwright

O Playwright oferece uma vantagem arquitetural significativa sobre frameworks legados: a criação de múltiplos BrowserContexts independentes sob uma mesma instância do navegador. Cada contexto opera com seu próprio armazenamento de cookies, cache e configurações de rede, incluindo proxies dedicados.

1. Configuração do Proxy por Contexto

Em vez de reiniciar o processo do navegador para alterar o endereço IP, instanciamos contextos isolados vinculados a proxies rotativos (residenciais ou de datacenter, conforme a criticidade do alvo):

python
import asyncio
from playwright.asyncapi import asyncplaywright

async def criarcontextocomproxy(browser, proxyurl, user, password):
context = await browser.newcontext(
proxy={
“server”: proxy
url,
“username”: user,
“password”: password
},
user_agent=”Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36″
)
return context

2. Gestão de Sessões e Cookies

Para evitar refazer o handshake de autenticação a cada requisição, a estratégia recomendada consiste em:

  • Executar o fluxo inicial de login e validações intermediárias em um contexto seguro.
  • Exportar o estado da sessão autenticada via storage_state().
  • Reutilizar esse estado de autenticação em novos contextos vinculados a IPs rotacionados, desde que o provedor da aplicação permita a manutenção do token de sessão entre faixas de IP compatíveis.

python

Salvando o estado autenticado após as telas de validação

await context.storagestate(path=”sessionstate.json”)

Criando novo contexto operacional com o estado salvo e proxy novo

novocontexto = await browser.newcontext(
storagestate=”sessionstate.json”,
proxy={“server”: “http://proxy-rotativo.io:8000”}
)

Resiliência e Prevenção de Bloqueios

Como especialista em IA e engenharia de dados, costumo estruturar esses pipelines em camadas complementares:

  1. Pool de Proxies com Validação de Latência: Antes de atribuir um proxy ao contexto, o sistema valida latência e taxa de sucesso via requisições HTTP leves.
  2. Backoff Exponencial com Jitter: Erros de rede ou respostas HTTP 429 disparam pausas calculadas probabilisticamente para evitar sincronização de rajadas de requisições.
  3. Tratamento Dinâmico de DOM: O uso de seletores resilientes e wait_for_selector com estados visíveis evita falhas causadas por atrasos de carregamento em proxies mais lentos.

Conclusão e Próximos Passos

Construir robôs para automação de navegadores exige mais do que simular cliques: requer conhecimento aprofundado de redes, gerenciamento de estado e arquitetura assíncrona. Quando bem implementado, um bot com Playwright e rotação de proxies executa fluxos complexos de autenticação continuamente com mínima intervenção manual.

Se a sua empresa precisa automatizar fluxos críticos de navegador, contornar bloqueios operacionais ou integrar pipelines de dados complexos com alta disponibilidade, entre em contato para uma consultoria técnica especializada com Thiago Programador.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.