Como configurar proxy no Playwright (autenticação global e por contexto)
Atualizado:
O Playwright suporta nativamente autenticação de proxy HTTP (server, username, password) em Chromium, Firefox e WebKit, dispensando extensões de navegador ou bibliotecas adicionais. Além disso, o recurso Per-Context Proxy do Playwright permite que uma única instância de navegador execute dezenas de sessões BrowserContext isoladas, cada uma vinculada ao seu próprio IP estático da VinaProxy.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP₫ 40.000
- 5+ IPs₫ 35.000
- 10+ IPs₫ 25.000
- 20+ IPs₫ 25.000
- 50+ IPs₫ 25.000
- 100+ IPs₫ 25.000
- 200+ IPs₫ 25.000
- 500+ IPs₫ 25.000
- 1000+ IPs₫ 22.000
- 2000+ IPs₫ 20.000
- 1 IP₫ 50.000
- 3+ IPs₫ 40.000
- 5+ IPs₫ 40.000
- 10+ IPs₫ 32.000
- 50+ IPs₫ 30.000
- 100+ IPs₫ 30.000
- 200+ IPs₫ 30.000
- 500+ IPs₫ 25.000
Configuração do objeto proxy no Playwright
Passe o objeto de configuração proxy globalmente em chromium.launch({ proxy }) ou individualmente por sessão em browser.newContext({ proxy }):
| Chave do Playwright | Formato do Valor | Nota Técnica |
|---|---|---|
server | 'http://ip:port' | Apenas host e porta, prefixados obrigatoriamente com http:// |
username | 'user' | Seu usuário de proxy obtido no painel da VinaProxy |
password | 'pass' | Sua senha de proxy (o Playwright responde automaticamente ao desafio HTTP 407) |
bypass | 'localhost,127.0.0.1' | Lista opcional separada por vírgulas de domínios que ignoram o proxy |
Boas práticas para executar BrowserContexts com múltiplos IPs
- No Windows e macOS, passe um parâmetro fictício
proxy: { server: 'http://per-context' }nochromium.launch()caso pretenda atribuir proxies distintos em cadabrowser.newContext() - Configure
timezoneIdelocalenobrowser.newContext()de acordo com o país do proxy, alinhando cabeçalhos e a APIIntldo JavaScript - Interrompa o carregamento de imagens e fontes dispensáveis com
page.route()para acelerar a taxa de transferência em web scraping
Passo a passo
- 1
Obtenha IP, porta, usuário e senha
Copie as credenciais
ip:port:user:passa partir do painel da VinaProxy. - 2
Passe o objeto proxy para newContext()
Invoque
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } }). - 3
Alinhe timezoneId e locale
Defina
timezoneIdelocalecorrespondentes à região do seu proxy (comoAmerica/New_YorkouAsia/Ho_Chi_Minh). - 4
Confirme o IP de saída em uma nova página
Abra uma aba com
const page = await context.newPage()e faça uma requisição parahttps://vinaproxy.com/api/my-ip.
Perguntas frequentes
Por que o Playwright gerou o erro 'Proxy is only supported when browser is launched with a proxy'?
No Windows e macOS, o Chromium exige uma flag de proxy global na inicialização antes de permitir configurações individuais por contexto. Inicialize o navegador com chromium.launch({ proxy: { server: 'http://per-context' } }) e informe o proxy específico em cada browser.newContext({ proxy }).
Os proxies da VinaProxy funcionam no Firefox e WebKit do Playwright?
Sim. A mesma estrutura de objeto proxy: { server, username, password } é compatível com Chromium, Firefox e WebKit tanto em Node.js quanto em Python.
O consumo de dados é limitado ao executar o Playwright em modo headless?
Não. Todos os planos de IPv4 dedicado e ISP estático da VinaProxy contam com franquia mensal de tráfego ilimitada.
Escale instâncias de Playwright BrowserContext com IPs estáticos dedicados
Proxies HTTP(S) velozes e sem limite de tráfego em 7 países estratégicos.
Comprar Proxies para Playwright