Empresa brasileira · Entrega automática · Suporte em português Seg a sex, 9h as 18h · PIX em reais
ProxyBox
Automação

Proxy por contexto no Playwright: várias contas no mesmo navegador sem cruzar IP

Como usar um proxy diferente em cada contexto do Playwright para isolar contas no mesmo processo, com usuário e senha, e os erros que juntam tudo de novo.

Por Redação ProxyBox · Editor técnico · atualizado em 4 min de leitura Playwright · automação · multi-conta
Guia completo de Automação

Este artigo aprofunda um ponto do tema. Para a visão inteira, leia Automação com proxy: quantos IPs você precisa (e onde cada ferramenta lê).

Rodar várias contas em automação costuma começar do jeito mais caro: um navegador inteiro por conta. O Playwright tem um recurso que resolve isso com menos memória — contextos — e aceita um proxy diferente em cada um. Dá para ter dez contas independentes no mesmo processo, cada uma com sessão e IP próprios.

O que é um contexto no Playwright

Um contexto é uma sessão isolada dentro do mesmo navegador. Cada contexto tem cookies, armazenamento local e sessão próprios, como se fosse um perfil separado. Uma conta logada num contexto não aparece no outro.

O que o contexto não isola sozinho é a rede: sem configuração, todos saem pelo mesmo IP da máquina. É aí que entra o proxy por contexto.

Proxy global ou por contexto

A documentação do Playwright prevê as duas formas:

Global — todo o navegador sai pelo mesmo proxy:

const browser = await chromium.launch({
  proxy: {
    server: 'http://host:porta',
    username: 'usuario',
    password: 'senha',
  },
});

Por contexto — cada sessão com o próprio IP:

const browser = await chromium.launch();

const contextoA = await browser.newContext({
  proxy: { server: 'http://host-a:porta', username: 'usuario-a', password: 'senha-a' },
});

const contextoB = await browser.newContext({
  proxy: { server: 'http://host-b:porta', username: 'usuario-b', password: 'senha-b' },
});

Com isso, a conta do contexto A sai por um endereço e a do contexto B por outro, dentro do mesmo navegador.

Um padrão para várias contas

Mantenha a relação conta → proxy num só lugar, em vez de espalhar credenciais pelo código:

const contas = [
  { nome: 'cliente-a', proxy: { server: 'http://host-a:porta', username: 'u-a', password: 's-a' } },
  { nome: 'cliente-b', proxy: { server: 'http://host-b:porta', username: 'u-b', password: 's-b' } },
];

for (const conta of contas) {
  const contexto = await browser.newContext({
    proxy: conta.proxy,
    storageState: `./sessoes/${conta.nome}.json`,
  });
  // abrir páginas da conta neste contexto
}

O storageState salva a sessão de cada conta num arquivo próprio, então no próximo login cada conta volta com os cookies dela e pelo mesmo IP.

Erros que juntam as contas de novo

Proxy global e contas diferentes. Configurar o proxy só no launch faz todos os contextos saírem pelo mesmo endereço. Para contas independentes, o proxy vai em cada newContext.

Reaproveitar o storageState entre contas. Carregar a sessão de uma conta no contexto de outra mistura cookies e identidades.

Trocar o proxy da conta a cada execução. A conta passa a acessar de um lugar diferente a cada rodada. Fixe o par conta → IP.

Credencial na URL do servidor. Coloque usuário e senha nos campos username e password, não embutidos em server. O porquê está no guia de proxy em automação de navegador.

Achar que o contexto resolve impressão digital. O contexto isola sessão e rede, mas os contextos continuam compartilhando características do mesmo navegador. Para contas sensíveis, isso também pesa — ver navegador antidetect e fingerprint.

Valide antes de logar

Antes de abrir a conta em cada contexto, confirme o IP de saída:

const pagina = await contexto.newPage();
await pagina.goto('https://api.ipify.org');
console.log(conta.nome, await pagina.textContent('body'));

Cada conta deve mostrar um endereço diferente, e sempre o mesmo para a mesma conta.

Qual tipo de IP usar

  • Contas com login → IPv4 dedicado, ou ISP se a conta é sensível a datacenter. Um por contexto.
  • Coleta sem login → residencial rotativo por GB, sem necessidade de fixar o IP por contexto.
  • Agente de IA que navega pelo Playwright → residencial por GB com sessão fixa durante a tarefa, ou IP fixo quando a tarefa envolve login. A página de proxy para agentes de IA separa os três trabalhos do agente: navegar, coletar e operar conta.

Quantos IPs dimensionar, HTTP ou SOCKS5 e boas práticas de automação estão em proxy para automação.

Perguntas frequentes

Dá para usar um proxy diferente em cada contexto do Playwright?
Sim. A opção proxy existe tanto no lançamento do navegador quanto na criação de cada contexto, com server, username e password.
Contexto do Playwright isola cookies?
Sim. Cada contexto tem cookies, armazenamento e sessão próprios, como um perfil separado. Somado a um proxy por contexto, isola também a origem de rede.
Playwright aceita SOCKS5?
A documentação do Playwright cita suporte a proxy HTTP(S) e SOCKSv5. Para proxy com usuário e senha, o caminho documentado é HTTP.
Contexto separado substitui navegador antidetect?
Não. O contexto isola sessão e rede, mas não altera impressão digital do navegador. Para contas sensíveis, a impressão digital também pesa.

Quer aplicar isso na sua operação?

Preço público em reais, PIX e credenciais no painel em minutos. Se não souber qual tipo escolher, descreva a operação no WhatsApp — indicamos o mais barato que resolve.

Este conteúdo é informativo. Proxy é infraestrutura de rede: controlamos origem, exclusividade e geolocalização do IP. Aprovação ou restrição de contas depende também de comportamento de uso, impressão digital do navegador e das políticas internas de cada plataforma. Consulte a política de uso aceitável.

Suporte em português Fale no WhatsApp