Sustituye launch() por una línea de conexión y tu script de Playwright o Puppeteer funciona tal cual en Gologin Cloud Browser. Sin Chrome ni Docker que actualizar. Añade un proxy residencial o móvil con una llamada a la API: cada ejecución vuelve con la sesión iniciada, desde la misma IP.
Gratis para empezar, sin tarjeta. IP residenciales incluidas.
La línea de conexión es la única parte de Gologin; el resto es Playwright o Puppeteer normal. Cada pestaña de abajo se ejecutó tal como se muestra en Gologin Cloud Browser.
Regístrate con Google y copia tu clave desde el panel. Gratis, sin tarjeta.
Un clic en el panel o una llamada a la API. El perfil guarda el dispositivo, la IP y el inicio de sesión.
Instala la biblioteca y ejecuta el script de abajo con tu token y el id de tu perfil. ¿Vas a mover tu propio script? Sustituye su llamada a launch() por la línea de conexión. Más información en la guía de inicio.
npm install playwright-coreGOLOGIN_TOKEN=your_token GOLOGIN_PROFILE_ID=your_profile_id node scrape.mjswss://cloudbrowser.gologin.com/connect?token=…&profile=…import { chromium } from "playwright-core";
const token = process.env.GOLOGIN_TOKEN;
const profileId = process.env.GOLOGIN_PROFILE_ID;
const endpoint = `wss://cloudbrowser.gologin.com/connect?token=${token}&profile=${profileId}`;
const browser = await chromium.connectOverCDP(endpoint);
const page = await browser.contexts()[0].newPage();
await page.goto("http://quotes.toscrape.com/scroll");
await page.waitForSelector(".quote");
for (let i = 0; i < 30; i++) {
const before = await page.locator(".quote").count();
await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
try {
await page.waitForFunction(
(n) => document.querySelectorAll(".quote").length > n,
before,
{ timeout: 3000 }
);
} catch {
break;
}
}
const quotes = await page.$$eval(".quote", (els) =>
els.map((el) => ({
text: el.querySelector(".text")?.textContent,
author: el.querySelector(".author")?.textContent,
}))
);
console.log(quotes.length, quotes[0]);
await page.close();
await browser.close();npm install puppeteer-coreGOLOGIN_TOKEN=your_token GOLOGIN_PROFILE_ID=your_profile_id node scrape.mjswss://cloudbrowser.gologin.com/connect?token=…&profile=…import puppeteer from "puppeteer-core";
const token = process.env.GOLOGIN_TOKEN;
const profileId = process.env.GOLOGIN_PROFILE_ID;
const endpoint = `wss://cloudbrowser.gologin.com/connect?token=${token}&profile=${profileId}`;
const browser = await puppeteer.connect({ browserWSEndpoint: endpoint });
const page = await browser.newPage();
await page.goto("http://quotes.toscrape.com/scroll");
await page.waitForSelector(".quote");
for (let i = 0; i < 30; i++) {
const before = await page.$$eval(".quote", (els) => els.length);
await page.evaluate(() => window.scrollTo(0, document.body.scrollHeight));
try {
await page.waitForFunction(
(n) => document.querySelectorAll(".quote").length > n,
{ timeout: 3000 },
before
);
} catch {
break;
}
}
const quotes = await page.$$eval(".quote", (els) =>
els.map((el) => ({
text: el.querySelector(".text")?.textContent,
author: el.querySelector(".author")?.textContent,
}))
);
console.log(quotes.length, quotes[0]);
await page.close();
await browser.disconnect();pip install playwrightGOLOGIN_TOKEN=your_token GOLOGIN_PROFILE_ID=your_profile_id python scrape.pywss://cloudbrowser.gologin.com/connect?token=…&profile=…import os
from playwright.sync_api import sync_playwright, TimeoutError as PlaywrightTimeoutError
token = os.environ["GOLOGIN_TOKEN"]
profile_id = os.environ["GOLOGIN_PROFILE_ID"]
endpoint = f"wss://cloudbrowser.gologin.com/connect?token={token}&profile={profile_id}"
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(endpoint)
page = browser.contexts[0].new_page()
page.goto("http://quotes.toscrape.com/scroll")
page.wait_for_selector(".quote")
for _ in range(30):
before = page.locator(".quote").count()
page.evaluate("window.scrollTo(0, document.body.scrollHeight)")
try:
page.wait_for_function(
"n => document.querySelectorAll('.quote').length > n",
arg=before,
timeout=3000,
)
except PlaywrightTimeoutError:
break
quotes = page.eval_on_selector_all(
".quote",
"els => els.map(el => ({text: el.querySelector('.text')?.textContent, author: el.querySelector('.author')?.textContent}))",
)
print(len(quotes), quotes[0])
page.close()
browser.close()npm install playwrightGOLOGIN_TOKEN=your_token GOLOGIN_PROFILE_ID=your_profile_id npx playwright testwss://cloudbrowser.gologin.com/connect?token=…&profile=…import { chromium, expect, test as base } from "playwright/test";
const endpoint = `wss://cloudbrowser.gologin.com/connect?token=${process.env.GOLOGIN_TOKEN}&profile=${process.env.GOLOGIN_PROFILE_ID}`;
const test = base.extend({
browser: [
async ({}, use) => {
const browser = await chromium.connectOverCDP(endpoint);
await use(browser);
await browser.close();
},
{ scope: "worker" },
],
});
test("quotes load in Gologin Cloud Browser", async ({ page }) => {
await page.goto("http://quotes.toscrape.com/");
await expect(page.locator(".quote").first()).toBeVisible();
});
test("the next page loads too", async ({ page }) => {
await page.goto("http://quotes.toscrape.com/page/2/");
await expect(page.locator(".quote")).toHaveCount(10);
});Elige la biblioteca que tu equipo ya conoce. El navegador en la nube y la dirección de conexión son los mismos para las dos.
De Microsoft, para Node.js, Python, Java y .NET. Espera a los elementos por sí solo e incluye su propio ejecutor de pruebas. En Gologin: instala playwright-core y conéctate con chromium.connectOverCDP.
Del equipo de Chrome, para Node.js. Una biblioteca más pequeña que habla directamente el Chrome DevTools Protocol. En Gologin: instala puppeteer-core y conéctate con puppeteer.connect.
¿Listo para probar tu biblioteca? Obtén una clave de API y sigue la guía de inicio.
Funcione donde funcione hoy el script, el cambio es la línea de conexión. Esto es lo demás que puedes quitar.
Quita la imagen del navegador. Instala la biblioteca sin navegador y conéctate.
Sin capa de Chromium en el paquete. La función abre un WebSocket.
Añade un fixture, como en la pestaña Playwright Test. Las pruebas se quedan como están.
Cambia la dirección por la línea de conexión de Gologin. Añade un proxy con una llamada a la API.
Todos los planes usan el mismo navegador, con IP residenciales incluidas. Los planes se diferencian en horas de navegador y sesiones en paralelo.
$0
Sin tarjeta
$4.50/ mes
Para un solo desarrollador
$8/ mes
Para equipos en crecimiento
$14/ mes
Para operaciones críticas
¿Necesitas más a la vez? Añade sesiones en paralelo a cualquier plan por $2 al mes cada una, tantas como necesites. El tráfico de proxy por encima de tu cuota cuesta $1/GB.
Desde 4 sesiones en paralelo, con un gestor de cuenta dedicado, un SLA premium y una incorporación a medida.
Una cuenta, una red de proxies, un ecosistema. Elige el producto que necesita cada tarea.
Los dos funcionan en Gologin Cloud Browser con la misma línea de conexión, así que elige el que conozca tu equipo. Playwright cubre más lenguajes y tiene su propio ejecutor de pruebas; Puppeteer es la biblioteca de Node.js más pequeña, del equipo de Chrome. En tu propio equipo, Playwright también maneja Firefox y WebKit; en la nube, los dos manejan el mismo navegador basado en Chromium.
Playwright usa chromium.connectOverCDP, Playwright para Python usa connect_over_cdp y Puppeteer usa puppeteer.connect con browserWSEndpoint. Los tres apuntan a wss://cloudbrowser.gologin.com/connect con tu token y el id de tu perfil. El resto del script no cambia. ¿Recoges datos de páginas que cargan al desplazarte? Consulta Scraping dinámico.
No. Instala playwright-core o puppeteer-core, que vienen sin navegador, y conéctate a la nube. No hay versión de Chrome que fijar, ni imagen de Docker que reconstruir, ni dependencias del navegador en tus servidores. Consulta API de navegador headless.
Sí. El inicio de sesión vive en el perfil. Conéctate con el mismo id de perfil y abre las páginas en la ventana propia del perfil, browser.contexts()[0] en Playwright, como hacen los scripts de arriba: la siguiente ejecución empieza con la sesión iniciada, desde la misma IP residencial. Una página de browser.newPage() se abre en una ventana nueva sin ese inicio de sesión. ¿Tienes que completar a mano un paso de 2FA? Consulta Cloud Browser UI.
Sí. Añade un fixture que conecte el navegador con connectOverCDP, como en la pestaña Playwright Test de arriba, y cada prueba se ejecuta en Gologin Cloud Browser. Las pruebas y sus aserciones se quedan como están, y npx playwright test las ejecuta como antes.
Uno en el plan gratuito y en Professional, 2 en Business, 3 en Enterprise y desde 4 en Custom. Añade más a cualquier plan por $2 al mes cada uno. Cada sesión en paralelo es un navegador conectado.
Conecta Playwright o Puppeteer a Gologin Cloud Browser y ejecútalo con una IP residencial y un inicio de sesión que se mantiene.
Gratis para empezar, sin tarjeta. IP residenciales incluidas.