Remplacez launch() par une ligne de connexion, et votre script Playwright ou Puppeteer tourne tel quel dans Gologin Cloud Browser. Plus de Chrome ni de Docker à mettre à jour. Ajoutez un proxy résidentiel ou mobile en un appel API : chaque exécution revient connectée, depuis la même IP.
Gratuit pour commencer, sans carte bancaire. IP résidentielles incluses.
La ligne de connexion est la seule partie Gologin ; le reste, c'est du Playwright ou du Puppeteer standard. Chaque onglet ci-dessous a tourné tel quel sur Gologin Cloud Browser.
Inscrivez-vous avec Google et copiez votre clé depuis le tableau de bord. Gratuit, sans carte bancaire.
Un clic dans le tableau de bord, ou un appel API. Le profil garde l'appareil, l'IP et la connexion.
Installez la bibliothèque et lancez le script ci-dessous avec votre jeton et l'id de votre profil. Vous migrez votre propre script ? Remplacez son appel launch() par la ligne de connexion. Plus de détails dans le guide de démarrage.
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);
});Choisissez la bibliothèque que votre équipe connaît déjà. Le navigateur cloud et l'adresse de connexion sont les mêmes pour les deux.
Par Microsoft, pour Node.js, Python, Java et .NET. Attend les éléments de lui-même et fournit son propre exécuteur de tests. Sur Gologin : installez playwright-core et connectez-vous avec chromium.connectOverCDP.
Par l'équipe Chrome, pour Node.js. Une bibliothèque plus légère qui parle directement le Chrome DevTools Protocol. Sur Gologin : installez puppeteer-core et connectez-vous avec puppeteer.connect.
Prêt à essayer votre bibliothèque ? Obtenez une clé API et suivez le guide de démarrage.
Où que tourne le script aujourd'hui, la migration se résume à la ligne de connexion. Voici ce que vous pouvez abandonner en plus.
Supprimez l'image du navigateur. Installez la bibliothèque sans navigateur et connectez-vous.
Plus de couche Chromium dans le package. La fonction ouvre un seul WebSocket.
Ajoutez une fixture, comme dans l'onglet Playwright Test. Les tests restent tels quels.
Remplacez l'adresse par la ligne de connexion Gologin. Ajoutez un proxy en un appel API.
Chaque forfait fait tourner le même navigateur, avec les IP résidentielles incluses. Les forfaits diffèrent par les heures de navigateur et les sessions parallèles.
$0
Sans carte bancaire
$4.50/ mois
Pour développeurs solo
$8/ mois
Pour équipes en croissance
$14/ mois
Pour les opérations critiques
Besoin de plus en simultané ? Ajoutez des sessions parallèles à n'importe quel forfait pour $2 par mois chacune, autant qu'il vous en faut. Le trafic proxy au-delà de votre quota est à $1/GB.
À partir de 4 sessions parallèles, avec un gestionnaire de compte dédié, un SLA premium et un onboarding sur mesure.
Un compte, un réseau de proxys, un écosystème. Choisissez le produit dont la tâche a besoin.
Les deux tournent sur Gologin Cloud Browser avec la même ligne de connexion : choisissez celui que votre équipe connaît. Playwright couvre plus de langages et a son propre exécuteur de tests ; Puppeteer est la bibliothèque Node.js plus légère de l'équipe Chrome. Sur votre propre machine, Playwright pilote aussi Firefox et WebKit ; dans le cloud, les deux pilotent le même navigateur basé sur Chromium.
Playwright utilise chromium.connectOverCDP, Playwright Python utilise connect_over_cdp, Puppeteer utilise puppeteer.connect avec browserWSEndpoint. Les trois pointent vers wss://cloudbrowser.gologin.com/connect avec votre jeton et l'id de votre profil. Le reste du script ne change pas. Vous collectez des données sur des pages qui se chargent au défilement ? Voir Scraping dynamique.
Non. Installez playwright-core ou puppeteer-core, qui sont fournis sans navigateur, et connectez-vous au cloud. Pas de version de Chrome à figer, pas d'image Docker à reconstruire et pas de dépendances de navigateur sur vos serveurs. Voir API de navigateur headless.
Oui. La connexion est stockée dans le profil. Connectez-vous avec le même id de profil et ouvrez les pages dans la fenêtre propre du profil, browser.contexts()[0] dans Playwright, comme le font les scripts ci-dessus : l'exécution suivante démarre connectée, depuis la même IP résidentielle. Une page ouverte avec browser.newPage() s'ouvre dans une nouvelle fenêtre sans cette connexion. Besoin de terminer une étape 2FA à la main ? Voir Cloud Browser UI.
Oui. Ajoutez une fixture qui connecte le navigateur avec connectOverCDP, comme dans l'onglet Playwright Test ci-dessus, et chaque test tourne dans Gologin Cloud Browser. Les tests et leurs assertions restent tels quels, et npx playwright test les lance comme avant.
Un sur l'offre gratuite et sur Professional, 2 sur Business, 3 sur Enterprise, à partir de 4 sur Custom. Ajoutez des sessions à n'importe quel forfait pour $2 par mois chacune. Chaque session parallèle correspond à un navigateur connecté.
Connectez Playwright ou Puppeteer à Gologin Cloud Browser et lancez-le avec une IP résidentielle et une connexion qui dure.
Gratuit pour commencer, sans carte bancaire. IP résidentielles incluses.