# Configuração de proxy estático no Playwright em Python e Node.js

> Configuração de proxy estático no Playwright em Python e Node.js: servidor, nome de usuário e senha, um contexto de navegador por IP, verificação do IP de saída. IPs de 30 dias, sem KYC, cripto.

- URL: https://steadyproxy.com/pt/guides/playwright-static-proxy/
- Última atualização: 2026-10-19
- Publisher: SteadyProxy (https://steadyproxy.com)

Passe o servidor, o nome de usuário e a senha do IP estático para o navegador ou para cada contexto, depois verifique o IP de saída antes do trabalho real.

**Resposta rápida — Como configuro um proxy estático no Playwright?**

Para um proxy estático no Playwright, passe um proxy com servidor, nome de usuário e senha para chromium.launch(), ou dê a cada contexto de navegador seu próprio proxy para usar vários IPs estáticos em um único navegador. Depois, abra api.ipify.org para verificar o IP de saída. Os IPs estáticos **SteadyProxy** são alugados por 30 dias, a partir de US$ 2,24 por IP em outubro de 2026, sem KYC e com pagamento em cripto.

## Quais são os fatos principais?

| Atributo | Valor |
| --- | --- |
| Opção de lançamento | proxy = servidor, nome de usuário, senha (login de proxy HTTP) |
| Por contexto | browser.newContext({ proxy }) dá a cada contexto seu próprio IP estático |
| SOCKS5 | Suportado pelo Playwright; a documentação descreve usuário e senha para proxies HTTP(S), então combine SOCKS5 com a lista de permissões de IP |
| Autenticação SteadyProxy | Usuário e senha, ou uma allowlist de IP (até 10 IPs) |
| Verificar | api.ipify.org para o IP de saída, ipinfo.io/json para a rede |
| Verificações de código | Python passou no py_compile e Node.js passou no node --check em 19 de outubro de 2026 (Playwright 1.60) |

## Como defino um proxy estático no Playwright para Python?

Informe o proxy na inicialização quando o navegador inteiro deve usar um único IP estático. O server é o endereço HTTP do seu IP, http://host:port; o usuário e a senha vão em seus próprios campos, não na URL. O Playwright responde à solicitação de login do proxy por você, então nenhuma caixa de login aparece. O exemplo abre api.ipify.org, depois ipinfo.io/json, e imprime ambos.

*playwright_sync.py: um IP estático para o navegador inteiro*

```python
"""Playwright (Python) through one static proxy.

Install: python -m pip install playwright && python -m playwright install chromium
"""
import os

from playwright.sync_api import sync_playwright

PROXY = {
    "server": "http://" + os.environ.get("PROXY_HOST", "gw.steadyproxy.com") + ":"
    + os.environ.get("PROXY_PORT", "7777"),
    "username": os.environ.get("PROXY_USER", "USERNAME"),
    "password": os.environ.get("PROXY_PASS", "PASSWORD"),
}

with sync_playwright() as p:
    browser = p.chromium.launch(proxy=PROXY)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://api.ipify.org?format=json", timeout=30000)
    print("Exit IP:", page.inner_text("body"))
    page.goto("https://ipinfo.io/json", timeout=30000)
    print("Network:", page.inner_text("body"))
    browser.close()

```

## Como uso vários IPs estáticos em um único navegador Playwright?

Crie um contexto de navegador por IP. A documentação do Playwright afirma que um proxy pode ser definido para o navegador inteiro ou para cada contexto de navegador individualmente. Contextos não compartilham cookies nem armazenamento, então cada um age como um perfil separado em seu próprio IP. O exemplo Node.js percorre dois IPs, abre api.ipify.org em cada contexto e fecha o contexto após o uso. Preencha a lista com o host, a porta, o usuário e a senha de cada IP do seu painel.

*playwright_contexts.mjs: um contexto por IP estático (Node.js)*

```javascript
// Playwright (Node.js): one browser, one context per static IP.
// Install: npm i playwright && npx playwright install chromium
import { chromium } from 'playwright';

// Copy host, port, username and password of each IP from your dashboard.
const staticIps = [
  { name: 'client-a', host: 'gw.steadyproxy.com', port: '7777', username: 'USERNAME', password: 'PASSWORD' },
  { name: 'client-b', host: 'gw.steadyproxy.com', port: '7777', username: 'USERNAME', password: 'PASSWORD' },
];

const browser = await chromium.launch();
try {
  for (const ip of staticIps) {
    const context = await browser.newContext({
      proxy: { server: `http://${ip.host}:${ip.port}`, username: ip.username, password: ip.password },
    });
    const page = await context.newPage();
    await page.goto('https://api.ipify.org?format=json', { timeout: 30000 });
    console.log(ip.name, await page.innerText('body'));
    await context.close();
  }
} finally {
  await browser.close();
}

```

## Devo usar HTTP ou SOCKS5 no Playwright?

Use a porta HTTP com usuário e senha na maioria dos casos. É a combinação que a documentação do Playwright descreve para login de proxy, e páginas HTTPS passam por um túnel CONNECT. Use SOCKS5 com um server socks5:// apenas quando sua máquina estiver na lista de permissões de IP, para que nenhum login seja necessário. Ambas as portas de um mesmo IP estático dão o mesmo IP de saída. SteadyProxy suporta HTTP, HTTPS (CONNECT) e SOCKS5.

## Como mantenho os logins entre execuções no mesmo IP estático?

Salve o storage state do contexto após fazer login e carregue-o na próxima vez com o mesmo proxy. Em Python, context.storage_state(path='client-a.json') grava cookies e local storage; browser.new_context(storage_state='client-a.json', proxy=...) os restaura. Mantenha um arquivo de estado por IP e por conta, e nunca carregue o estado de uma conta no IP de outra conta. Trate esses arquivos como segredos.

## O que dá errado com mais frequência?

Quatro erros cobrem a maioria dos casos. ERR_PROXY_CONNECTION_FAILED significa que o host ou a porta estão errados ou bloqueados do seu lado. Uma resposta 407 significa login errado, ou IP de origem ausente da sua lista de permissões. ERR_TUNNEL_CONNECTION_FAILED significa que o proxy recusou o destino; verifique a lista de bloqueados: Sites de bancos, órgãos governamentais, portais de pagamento e de ingressos, além das portas SMTP (envio de e-mail) 25, 465 e 587. Um timeout em todas as páginas aponta para uma falha no IP; teste com curl e depois contate o suporte.

## O que mais as pessoas perguntam sobre Playwright e proxies estáticos?

### Posso colocar o usuário e a senha na URL do server?

Use os campos separados de usuário e senha em vez disso. Eles são a forma documentada de fazer login em um proxy HTTP no Playwright e evitam problemas de codificação de URL com caracteres especiais. O campo server então contém apenas o esquema, o host e a porta do seu IP estático.

### Cada página do Playwright recebe seu próprio IP?

Não. As páginas herdam o proxy do seu contexto, e os contextos herdam o proxy do navegador a menos que definam o próprio. Todas as páginas de um contexto compartilham um único IP estático. Para vários IPs, crie vários contextos, como no exemplo Node.js, ou vários navegadores.

### Posso usar Firefox ou WebKit com um proxy estático no Playwright?

Sim. A opção proxy tem o mesmo formato para inicializações chromium, firefox e webkit. Teste cada engine com api.ipify.org, porque os engines diferem na forma como tratam alguns erros de proxy. Para QA entre engines, mantenha o mesmo IP estático para cada engine para que os resultados permaneçam comparáveis.

### Devo definir o locale e o fuso horário para corresponder ao IP?

Para QA local e testes de geolocalização, sim: browser.new_context(locale='de-DE', timezone_id='Europe/Berlin') faz seu site renderizar como renderizaria para um visitante local. Isso muda o que seu navegador de teste solicita, não o IP, que ainda decide o país que seu site detecta. Veja [QA de geolocalização](https://steadyproxy.com/pt/use-cases/geolocation-qa/) para planos de teste.

### Como verifico que cada contexto usa o IP correto?

Abra api.ipify.org primeiro em cada novo contexto e compare a resposta com a lista de IPs do seu painel. Faça a execução falhar se não corresponder. O custo é uma requisição leve por contexto, e isso evita que uma execução inteira saia pelo IP errado.

### Quanto custa rodar 10 contextos do Playwright em 10 IPs estáticos?

Em outubro de 2026, 10 IPs ISP custam US$ 20,86 e 10 IPs datacenter dedicados custam US$ 12,69, cada um por 30 dias. A cobrança é por IP, não por GB. O pagamento é em cripto, sem KYC. Veja [preços](https://steadyproxy.com/pt/pricing/) para todos os tamanhos de plano.

## Quais fontes este guia usa?

1. [Rede: proxy HTTP (Python)](https://playwright.dev/python/docs/network#http-proxy) — Playwright (2026-10-19)
2. [Rede: proxy HTTP (Node.js)](https://playwright.dev/docs/network#http-proxy) — Playwright (2026-10-19)
3. [API do ipify](https://www.ipify.org/) — ipify (2026-10-19)

---

SteadyProxy: A SteadyProxy é um provedor de proxies estáticos: IPs ISP (residencial estático) e datacenter dedicados, alugados por IP por 30 dias, pagos com cripto e sem envio de documento.
