Entrega automática tras confirmar el pago · IP dedicado · Soporte por ticket en el panel Pago local según tu país · Precios en dólares (USD)
ProxyBox
Automatización

Proxy por contexto en Playwright: varias cuentas en el mismo navegador sin cruzar la IP

Cómo usar un proxy distinto en cada contexto de Playwright para aislar cuentas en el mismo proceso, con usuario y contraseña, y los errores que vuelven a juntarlo todo.

Por Redacción ProxyBox · Editor técnico 4 min de lectura Playwright · automatización · multicuenta
Guía completa de Automatización

Este artículo profundiza en un punto del tema. Para la visión completa, lee Automatización con proxy: cuántas IP necesitas (y dónde las lee cada herramienta).

Ejecutar varias cuentas en una automatización suele empezar de la forma más cara: un navegador completo por cuenta. Playwright tiene una función que lo resuelve con menos memoria, los contextos, y acepta un proxy distinto en cada uno. Puedes tener diez cuentas independientes en el mismo proceso, cada una con su propia sesión y su propia IP.

Qué es un contexto en Playwright

Un contexto es una sesión aislada dentro del mismo navegador. Cada contexto tiene sus propias cookies, almacenamiento local y sesión, como si fuera un perfil separado. Una cuenta con sesión iniciada en un contexto no aparece en otro.

Lo que el contexto no aísla por sí solo es la red: sin configuración, todos salen por la misma IP de la máquina. Ahí entra el proxy por contexto.

Proxy global o por contexto

La documentación de Playwright prevé las dos formas:

Global: todo el navegador sale por el mismo proxy:

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

Por contexto: cada sesión con su propia IP:

const browser = await chromium.launch();

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

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

Así, la cuenta del contexto A sale por una dirección y la del contexto B por otra, dentro del mismo navegador.

Un patrón para varias cuentas

Mantén la relación cuenta → proxy en un solo lugar, en lugar de repartir credenciales por el código:

const cuentas = [
  { nombre: 'cliente-a', proxy: { server: 'http://host-a:puerto', username: 'u-a', password: 'c-a' } },
  { nombre: 'cliente-b', proxy: { server: 'http://host-b:puerto', username: 'u-b', password: 'c-b' } },
];

for (const cuenta of cuentas) {
  const contexto = await browser.newContext({
    proxy: cuenta.proxy,
    storageState: `./sesiones/${cuenta.nombre}.json`,
  });
  // abrir las páginas de la cuenta en este contexto
}

storageState guarda la sesión de cada cuenta en su propio archivo, así que en el siguiente inicio de sesión cada cuenta vuelve con sus cookies y por la misma IP. Cómo guardar y reutilizar esa sesión sin iniciar sesión cada vez está en automatización con sesión e IP fija.

Errores que vuelven a juntar las cuentas

Proxy global y cuentas distintas. Configurar el proxy solo en launch hace que todos los contextos salgan por la misma dirección. Para cuentas independientes, el proxy va en cada newContext.

Reutilizar el storageState entre cuentas. Cargar la sesión de una cuenta en el contexto de otra mezcla cookies e identidades.

Cambiar el proxy de la cuenta en cada ejecución. La cuenta pasa a entrar desde un lugar distinto en cada ronda. Fija el par cuenta → IP.

Credenciales en la URL del servidor. Pon usuario y contraseña en los campos username y password, no incrustados en server. El porqué está en la guía de proxy en la automatización de navegadores.

Creer que el contexto resuelve la huella digital. El contexto aísla la sesión y la red, pero los contextos siguen compartiendo características del mismo navegador. En cuentas sensibles, eso también pesa; lo explicamos en navegador antidetect y fingerprint.

Valida antes de iniciar sesión

Antes de abrir la cuenta en cada contexto, confirma la IP de salida:

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

Cada cuenta debe mostrar una dirección distinta, y siempre la misma para la misma cuenta.

Lo que el proxy por contexto no resuelve

Separa la red y la sesión, nada más. No cambia la huella digital, no controla el ritmo de las acciones y no convierte en permitida una automatización que los términos de la plataforma prohíben; se aplica nuestra política de uso aceptable.

Qué tipo de IP usar

  • Cuentas con inicio de sesión → IPv4 dedicada, o ISP si la cuenta es sensible al datacenter. Una por contexto, del país de la cuenta.
  • Recogida sin inicio de sesión → residencial rotativo por GB (en ProxyBox, IP de Brasil) o un lote de IP en rotación, sin necesidad de fijar la IP por contexto.

Cuántas IP dimensionar, HTTP o SOCKS5 y buenas prácticas de automatización están en proxy para automatización.

Preguntas frecuentes

¿Se puede usar un proxy distinto en cada contexto de Playwright?
Sí. La opción proxy existe tanto al lanzar el navegador como al crear cada contexto, con server, username y password.
¿El contexto de Playwright aísla las cookies?
Sí. Cada contexto tiene sus propias cookies, almacenamiento y sesión, como un perfil separado. Sumado a un proxy por contexto, aísla también el origen de red.
¿Playwright acepta SOCKS5?
La documentación de Playwright menciona compatibilidad con proxies HTTP(S) y SOCKSv5. Para un proxy con usuario y contraseña, el camino documentado es HTTP.
¿Un contexto separado sustituye a un navegador antidetect?
No. El contexto aísla la sesión y la red, pero no cambia la huella digital del navegador. En cuentas sensibles, la huella digital también pesa.

¿Quieres aplicarlo en tu operación?

Precio público en dólares, pago local según tu país y entrega automática en el panel tras confirmar el pago. Si no sabes qué tipo elegir, cuéntanos tu operación por WhatsApp: te indicamos el más barato que lo resuelve.

Este contenido es informativo. Un proxy es infraestructura de red: controlamos el origen, la exclusividad y la geolocalización del IP. La aprobación o restricción de cuentas depende también del comportamiento de uso, la huella digital del navegador y las políticas internas de cada plataforma. Consulta la política de uso aceptable.

¿Tienes dudas? Escríbenos por WhatsApp