Замените launch() одной строкой подключения, и ваш скрипт Playwright или Puppeteer заработает в Gologin Cloud Browser без изменений. Не нужно обновлять Chrome или Docker. Добавьте резидентный или мобильный прокси одним вызовом API: каждый запуск возвращается с сохранённым логином и с того же IP.
Бесплатный старт, без карты. Резидентные IP включены.
Строка подключения - единственная часть от Gologin, остальное - обычный Playwright или Puppeteer. Каждая вкладка ниже запускалась в Gologin Cloud Browser именно в таком виде.
Зарегистрируйтесь через Google и скопируйте ключ в панели управления. Бесплатно, без карты.
Один клик в панели управления или один вызов API. Профиль хранит устройство, IP и логин.
Установите библиотеку и запустите скрипт ниже со своим токеном и ID профиля. Переносите свой скрипт? Замените в нём вызов launch() строкой подключения. Подробнее в руководстве по началу работы.
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);
});Выберите библиотеку, которую уже знает ваша команда. Облачный браузер и адрес подключения для обеих одинаковые.
От Microsoft, для Node.js, Python, Java и .NET. Сам дожидается элементов и поставляется со своим тест-раннером. В Gologin: установите playwright-core и подключайтесь через chromium.connectOverCDP.
От команды Chrome, для Node.js. Более компактная библиотека, которая напрямую работает с Chrome DevTools Protocol. В Gologin: установите puppeteer-core и подключайтесь через puppeteer.connect.
Готовы попробовать свою библиотеку? Получите API-ключ и следуйте руководству по началу работы.
Где бы скрипт ни работал сегодня, для переноса нужна только строка подключения. Вот от чего ещё можно отказаться.
Уберите образ браузера. Установите библиотеку без браузера и подключитесь.
Никакого слоя Chromium в пакете. Функция открывает одно WebSocket-соединение.
Добавьте одну фикстуру, как на вкладке Playwright Test. Тесты остаются как есть.
Замените адрес строкой подключения Gologin. Добавьте прокси одним вызовом API.
На каждом тарифе работает один и тот же браузер, резидентные IP включены. Тарифы различаются часами работы браузера и числом параллельных сессий.
$0
Без привязки карты
$4.50/мес
Для соло-разработки
$8/мес
Для растущих команд
$14/мес
Для критичных задач
Нужно больше одновременно? Добавьте параллельные сессии к любому тарифу за $2 в месяц за каждую, сколько нужно. Трафик прокси сверх лимита стоит $1/ГБ.
От 4 параллельных сессий, с персональным менеджером, премиальным SLA и индивидуальным онбордингом.
Один аккаунт, одна прокси-сеть, одна экосистема. Выберите продукт под задачу.
Оба работают в Gologin Cloud Browser с одной и той же строкой подключения, поэтому выбирайте тот, который знает ваша команда. Playwright поддерживает больше языков и имеет свой тест-раннер; Puppeteer - более компактная библиотека для Node.js от команды Chrome. На вашем компьютере Playwright также управляет Firefox и WebKit; в облаке оба управляют одним и тем же браузером на базе Chromium.
Playwright использует chromium.connectOverCDP, Python Playwright - connect_over_cdp, Puppeteer - puppeteer.connect с browserWSEndpoint. Все три указывают на wss://cloudbrowser.gologin.com/connect с вашим токеном и ID профиля. Остальной скрипт не меняется. Собираете данные со страниц, которые подгружаются при прокрутке? Смотрите Динамический парсинг.
Нет. Установите playwright-core или puppeteer-core, которые поставляются без браузера, и подключитесь к облаку. Не нужно фиксировать версию Chrome, пересобирать образ Docker или ставить зависимости браузера на ваши серверы. Смотрите API headless-браузера.
Да. Вход хранится в профиле. Подключайтесь с тем же ID профиля и открывайте страницы в собственном окне профиля, browser.contexts()[0] в Playwright, как это делают скрипты выше: следующий запуск начнётся с сохранённым логином и с того же резидентного IP. Страница из browser.newPage() открывается в новом окне без этого логина. Нужно вручную пройти шаг 2FA? Смотрите Cloud Browser UI.
Да. Добавьте фикстуру, которая подключает браузер через connectOverCDP, как на вкладке Playwright Test выше, и каждый тест будет выполняться в Gologin Cloud Browser. Тесты и их проверки остаются как есть, а npx playwright test запускает их как раньше.
Один на бесплатном тарифе и на Professional, 2 на Business, 3 на Enterprise, от 4 на Custom. Дополнительные можно добавить к любому тарифу за $2 в месяц за каждый. Каждая параллельная сессия - это один подключённый браузер.
Подключите Playwright или Puppeteer к Gologin Cloud Browser и запускайте скрипт с резидентным IP и логином, который сохраняется.
Бесплатный старт, без карты. Резидентные IP включены.