Dev.to WebDev 🛠 Dev 👁 0 📖 2 min read

Isolando perfis de navegador com Python e Playwright (e quando usar um anti-detect)

Quando você tem várias contas (lojas, clientes), o primeiro passo é isolar o ambiente de cada uma. Um anti-detect faz isso com interface pronta. Mas dá pra entender o princípio em 30 linhas de Python com Playwright: cada

Isolando perfis de navegador com Python e Playwright (e quando usar um anti-detect)

Vídeo

Quando você tem várias contas (lojas, clientes), o primeiro passo é isolar o ambiente de cada uma. Um anti-detect faz isso com interface pronta. Mas dá pra entender o princípio em 30 linhas de Python com Playwright: cada perfil tem sua própria pasta de dados, então cookies e localStorage não se misturam.

Aviso: isso é isolamento de sessão, não "invisibilidade". Use só em contas suas ou de clientes, seguindo os termos das plataformas.

1. Instalar

pip install playwright
playwright install chromium

2. O script

from playwright.sync_api import sync_playwright

PERFIS = {
    "loja_a": {"locale": "pt-BR", "viewport": {"width": 1366, "height": 768}},
    "loja_b": {"locale": "en-US", "viewport": {"width": 1920, "height": 1080}},
}

with sync_playwright() as p:
    for nome, cfg in PERFIS.items():
        ctx = p.chromium.launch_persistent_context(f"./perfil_{nome}", headless=True, **cfg)
        page = ctx.new_page()
        page.goto("http://localhost:8765/")
        visitas = page.evaluate("""() => {
            const n = Number(localStorage.getItem('visitas') || 0) + 1;
            localStorage.setItem('visitas', n); return n; }""")
        info = page.evaluate("() => [navigator.language, innerWidth, innerHeight]")
        print(nome, "visitas:", visitas, "idioma/tela:", info)
        ctx.close()

3. Rodar

Em um terminal, sirva uma página qualquer:

echo '<html><body>oi</body></html>' > index.html
python3 -m http.server 8765

No outro, rode o script duas vezes:

python3 perfis.py
python3 perfis.py

O que eu vi (rodei no sandbox)

loja_a visitas: 1 idioma/tela: ['pt-BR', 1366, 768]
loja_b visitas: 1 idioma/tela: ['en-US', 1920, 1080]
loja_a visitas: 2 idioma/tela: ['pt-BR', 1366, 768]
loja_b visitas: 2 idioma/tela: ['en-US', 1920, 1080]

Cada perfil guarda o seu contador (storage separado) e mantém idioma e tela próprios entre execuções.

E o anti-detect de verdade?

Ferramentas como AdsPower, Incogniton e Dolphin Anty entregam isso com interface, gestão de proxy por perfil e equipe. Conferi os planos grátis em 05/11/2026: AdsPower tem 2 perfis grátis; Incogniton, 10 perfis nos 2 primeiros meses (depois 3); Dolphin tem plano Free e o Base com 100 perfis por US$ 89/mês. Comparação completa na newsletter: https://nuvemdev.substack.com

Links (afiliado): AdsPower, Incogniton, Dolphin Anty.

Transparência: links de afiliado, posso ganhar comissão sem custo extra pra você. Preços podem mudar.

📰 Read the original article on Dev.to WebDev

Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.