Zastąp launch() jedną linią połączenia, a Twój skrypt Playwright lub Puppeteer działa w Gologin Cloud Browser bez zmian. Żadnego Chrome ani Dockera do aktualizowania. Dodaj rezydencyjne lub mobilne proxy jednym wywołaniem API: każde uruchomienie wraca zalogowane, z tego samego IP.
Start za darmo, bez karty. Adresy rezydencyjne w cenie.
Linia połączenia to jedyny element Gologin; reszta to zwykły Playwright lub Puppeteer. Każda zakładka poniżej została uruchomiona dokładnie w tej postaci w Gologin Cloud Browser.
Zarejestruj się przez Google i skopiuj klucz z panelu. Za darmo, bez karty.
Jedno kliknięcie w panelu albo jedno wywołanie API. Profil zachowuje urządzenie, IP i logowanie.
Zainstaluj bibliotekę i uruchom poniższy skrypt ze swoim tokenem i ID profilu. Przenosisz własny skrypt? Zastąp jego wywołanie launch() linią połączenia. Więcej w przewodniku dla początkujących.
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);
});Wybierz bibliotekę, którą Twój zespół już zna. Przeglądarka w chmurze i adres połączenia są dla obu takie same.
Od Microsoftu, dla Node.js, Pythona, Javy i .NET. Sam czeka na elementy i ma własny test runner. W Gologin: zainstaluj playwright-core i połącz się przez chromium.connectOverCDP.
Od zespołu Chrome, dla Node.js. Mniejsza biblioteka, która komunikuje się bezpośrednio przez Chrome DevTools Protocol. W Gologin: zainstaluj puppeteer-core i połącz się przez puppeteer.connect.
Chcesz wypróbować swoją bibliotekę? Pobierz klucz API i skorzystaj z przewodnika dla początkujących.
Gdziekolwiek skrypt działa dziś, przeniesienie to zmiana linii połączenia. Oto z czego jeszcze możesz zrezygnować.
Usuń obraz przeglądarki. Zainstaluj bibliotekę bez przeglądarki i połącz się.
Bez warstwy Chromium w paczce. Funkcja otwiera jeden WebSocket.
Dodaj jedną fixture, jak w zakładce Playwright Test. Testy zostają bez zmian.
Zamień adres na linię połączenia Gologin. Dodaj proxy jednym wywołaniem API.
Każdy plan uruchamia tę samą przeglądarkę, z adresami rezydencyjnymi w cenie. Plany różnią się liczbą godzin przeglądarki i sesji równoległych.
$0
Bez karty
$4.50/mies.
Dla programistów solo
$8/mies.
Dla rosnących zespołów
$14/mies.
Do krytycznych operacji
Potrzebujesz więcej naraz? Dodaj sesje równoległe do dowolnego planu za $2 miesięcznie każda, tyle, ile potrzebujesz. Ruch proxy ponad limit kosztuje $1/GB.
Od 4 sesji równoległych, z dedykowanym opiekunem konta, SLA premium i dopasowanym wdrożeniem.
Jedno konto, jedna sieć proxy, jeden ekosystem. Wybierz produkt, którego wymaga zadanie.
Oba działają w Gologin Cloud Browser z tą samą linią połączenia, więc wybierz ten, który zna Twój zespół. Playwright obsługuje więcej języków i ma własny test runner, a Puppeteer to mniejsza biblioteka Node.js od zespołu Chrome. Na Twoim komputerze Playwright steruje też Firefoxem i WebKitem; w chmurze oba sterują tą samą przeglądarką opartą na Chromium.
Playwright używa chromium.connectOverCDP, Python Playwright używa connect_over_cdp, a Puppeteer używa puppeteer.connect z browserWSEndpoint. Wszystkie trzy wskazują wss://cloudbrowser.gologin.com/connect z Twoim tokenem i ID profilu. Reszta skryptu pozostaje taka sama. Zbierasz dane ze stron, które ładują się przy przewijaniu? Zobacz Dynamiczny scraping.
Nie. Zainstaluj playwright-core lub puppeteer-core, które nie zawierają przeglądarki, i połącz się z chmurą. Nie ma wersji Chrome do przypinania, obrazu Dockera do przebudowy ani zależności przeglądarki na Twoich serwerach. Zobacz API przeglądarki headless.
Tak. Logowanie jest zapisane w profilu. Połącz się z tym samym ID profilu i otwieraj strony we własnym oknie profilu, browser.contexts()[0] w Playwright, tak jak robią to powyższe skrypty: następne uruchomienie startuje zalogowane, z tego samego rezydencyjnego IP. Strona z browser.newPage() otwiera się w nowym oknie bez tego logowania. Musisz ręcznie dokończyć krok 2FA? Zobacz Cloud Browser UI.
Tak. Dodaj fixture, która łączy przeglądarkę przez connectOverCDP, jak w zakładce Playwright Test powyżej, a każdy test uruchomi się w Gologin Cloud Browser. Testy i ich asercje zostają bez zmian, a npx playwright test uruchamia je tak jak wcześniej.
Jeden w planie darmowym i w Professional, 2 w Business, 3 w Enterprise, od 4 w Custom. Do każdego planu możesz dodać kolejne po $2 miesięcznie za sztukę. Każda sesja równoległa to jedna podłączona przeglądarka.
Połącz Playwright lub Puppeteer z Gologin Cloud Browser i uruchamiaj skrypty z rezydencyjnym IP i logowaniem, które zostaje.
Start za darmo, bez karty. Adresy rezydencyjne w cenie.