Floppydata Floppydata

Сесії безкоштовні — платіть лише за трафік

Запуск Playwright у хмарі

Запускайте свої скрипти й тести Playwright у Chromium, який працює в хмарі Floppydata. Браузер стартує за одним API-запитом, connectOverCDP() підключається до нього, а решту коду змінювати не потрібно.

  • Підключення через connectOverCDP() — без встановлення браузерів
  • Node.js, Python і Playwright Test
  • Безкоштовно з проксі Floppydata — платіть лише за трафік

Як запустити Playwright у хмарі

Створіть сесію одним API-запитом і передайте її connectUrl у Playwright. Приклад узято з посібника з Cloud Browser у нашій документації.

Три кроки

  1. 1 Створіть Client API key в акаунті Floppydata.
  2. 2 Надішліть POST /v2/browser/sessions. У відповіді буде connectUrl.
  3. 3 Передайте його в connectOverCDP() і працюйте як зазвичай. Закриття браузера зупиняє сесію.
run.mjs
import { chromium } from 'playwright';const res = await fetch('https://api.floppydata.net/v2/browser/sessions', {    method: 'POST',    headers: {        'X-Api-Key': process.env.FLOPPY_API_KEY,        'Content-Type': 'application/json',    },    body: JSON.stringify({        proxy: { type: 'residential', location: { countryCode: 'US' } },    }),});const { connectUrl } = await res.json();const browser = await chromium.connectOverCDP(connectUrl);const page = await browser.contexts()[0].newPage();await page.goto('https://example.com/');console.log(await page.title());await browser.close(); // stops the session

Створити сесію, підключитися, відкрити сторінку.

Від локального Playwright до хмарного Playwright

Локально кожен воркер Playwright запускає власний Chromium. Коли набір тестів або скрапер росте, ці браузери конкурують за CPU і пам'ять, а кожному раннеру в CI спочатку треба їх завантажити.

У Floppydata Cloud Browser Chromium працює віддалено. Ваш код підключається за протоколом Chrome DevTools, тож на вашому боці достатньо playwright-core, а кожен запуск отримує власну сесію браузера.

Локальний Playwright до
const browser =
    await chromium.launch();
Floppydata Cloud Browser після
const browser =
    await chromium.connectOverCDP(connectUrl);

Усе, що нижче цього рядка, лишається без змін. connectUrl приходить із запиту на створення сесії вище.

Playwright із вбудованими проксі

Кожна сесія працює через проксі Floppydata, тож налаштовувати проксі-сервер у Playwright не потрібно. Оберіть тип IP, країну й ротацію та надішліть результат тілом запиту на створення сесії.

Налаштуйте хмарну сесію Playwright

Тип проксі
Ротація
POST /v2/browser/sessions
{
  "proxy": {
    "type": "residential",
    "location": {
      "countryCode": "US"
    },
    "rotation": {
      "mode": "sticky"
    }
  }
}

У тому самому запиті можна вказати місто, штат або ASN. Резидентські IP є у 148 країнах, мобільні — у 150, серверні — у 71.

Локальний чи хмарний Playwright

Локальний Playwright порівняно з Playwright у Floppydata Cloud Browser
Локальний Playwright Playwright у Cloud Browser
Chromium Встановлюється й оновлюється на кожній машині Працює в хмарі Floppydata
Браузери в CI Завантажуються на кожному раннері Не потрібні: достатньо playwright-core
Проксі Налаштовуються вами для кожного запуску Вбудовані: резидентські, мобільні або серверні
Паралельні браузери Обмежені вашими CPU і RAM До 100 сесій на акаунт
Вартість браузера Час ваших серверів Безкоштовно: оплачується лише проксі-трафік
Підключення Протокол Playwright, будь-який рушій браузера CDP через connectOverCDP(), лише Chromium

connectOverCDP() покриває те, що роблять більшість скриптів (навігацію, локатори, кліки, форми, очікування й JavaScript), але це не повний протокол Playwright. Нестандартні речі перевіряйте на своїх скриптах.

Масштабуйте й налаштовуйте кожну сесію

Кожне налаштування — необов'язкове поле запиту на створення сесії: надсилайте лише потрібні або нічого не надсилайте й отримайте резидентський проксі, узгоджений відбиток і тайм-аут 10 хвилин.

Налагодження Playwright у живому браузері

Коли скрипт зупиняється на екрані, якого не очікував, — банері згоди чи додатковому кроці входу, — відкрийте живий перегляд сесії у своєму браузері й подивіться, що саме показує сторінка.

Playwright і живий перегляд працюють з однією сесією по черзі, тож запуск продовжується з місця зупинки, а не починається заново. Докладніше про UI mode

  1. 1 Створіть сесію з keepAlive: true, щоб відключення її не зупиняло.
  2. 2 Коли запуск зупиняється на неочікуваному екрані, відключіть Playwright.
  3. 3 Запитайте живий перегляд і відкрийте його: подивіться на сторінку й розберіться з нею вручну.
  4. 4 Запитайте сесію знову й перепідключіть Playwright за новим connectUrl.

Безкоштовно для користувачів проксі Floppydata

У Cloud Browser немає підписки, плати за час роботи чи за сесію. Кожна сесія працює через проксі Floppydata, і платите ви лише за проксі-трафік, який вона використовує: від $1.00 за ГБ, одна ціна для резидентських, мобільних і серверних.

Якщо ви вже купуєте проксі Floppydata, Cloud Browser входить до них: той самий баланс, той самий API-ключ. Запускайте до 100 сесій одночасно на одному акаунті або попросіть підтримку підняти ліміт.

Часті помилки підключення Playwright до хмари

Що повідомляють API або з'єднання, коли щось іде не так, і що з цим робити.

Помилки підключення до Cloud Browser і як їх виправити
Помилка Що це означає Що робити
unauthorized Підписаний connectUrl прострочений або недійсний. Запитайте сесію знову й підключіться за її новим connectUrl.
connection_in_use Уже підключено інший клієнт або живий перегляд: до сесії можна підключитися лише один раз. Закрийте інше підключення й повторіть спробу.
session_not_active Сесію зупинено, вона завершилася за часом або з помилкою. Створіть нову сесію; для довгих задач збільште runtime.timeoutSeconds.
З'єднання закривається Одне повідомлення перевищило приблизно 1 MiB — наприклад, повносторінковий скриншот або кадр скринкасту. Робіть скриншоти видимої області чи елемента або обрізайте потрібну область.
upstream_error Тимчасовий збій на боці сервісу браузерів. Повторіть спробу: зупинку сесії можна безпечно повторювати.

Поширені запитання

Які браузери підтримуються?
Chromium. Сесії підключаються за протоколом Chrome DevTools, який Playwright підтримує лише для Chromium, тож проєкти на Firefox і WebKit не можуть їх використовувати. До тих самих сесій підключається й Puppeteer.
Чим connect() відрізняється від connectOverCDP()?
connect() працює за власним протоколом Playwright і потребує сервер Playwright на іншому боці. connectOverCDP() підключається до Chromium за протоколом Chrome DevTools — саме його надає сесія Floppydata, тож використовуйте connectOverCDP() (connect_over_cdp() у Python). Він покриває навігацію, локатори, кліки, форми, очікування й JavaScript, але це не повний протокол Playwright, тож нестандартні речі перевіряйте на своїх скриптах.
Чи можна робити скриншоти в хмарній сесії?
Так, з одним обмеженням: одне повідомлення через з'єднання може важити близько 1 MiB, тож дуже великий повносторінковий скриншот або кадр скринкасту може його закрити. Робіть скриншоти видимої області чи елемента або обрізайте потрібну область.
Скільки сесій Playwright можна запускати паралельно?
До 100 одночасно на одному акаунті. Якщо вашому набору тестів потрібно більше, напишіть у підтримку, щоб підняти ліміт.
Скільки може працювати сесія?
Від 60 секунд до 6 годин; за замовчуванням — 10 хвилин. За замовчуванням закриття підключення Playwright також зупиняє сесію. З keepAlive: true можна відключатися й підключатися знову, доки сесія не завершиться.
Чи можна зберігати cookies і вхід між запусками?
Так. Кожна сесія повертає ID налаштувань, який наступного разу відновлює ту саму ідентичність і стан браузера; акаунт може зберігати до 20 збережених налаштувань. Також перед запуском можна імпортувати до 100 cookies.

Дізнайтеся про інші рішення хмарного браузера