const browser =
await chromium.launch(); Les sessions sont gratuites : ne payez que le trafic
Exécutez Playwright dans le cloud
Exécutez vos scripts et tests Playwright dans un Chromium hébergé dans le cloud Floppydata. Une requête API lance le navigateur, connectOverCDP() s'y connecte, et le reste de votre code ne change pas.
- Connexion avec connectOverCDP() : aucun navigateur à installer
- Node.js, Python et Playwright Test
- Gratuit avec les proxys Floppydata : vous ne payez que le trafic
Comment exécuter Playwright dans le cloud
Créez une session avec une requête API, puis transmettez sa connectUrl à Playwright. L'exemple suit le guide Cloud Browser de notre documentation.
Trois étapes
- 1 Créez une Client API key dans votre compte Floppydata.
- 2 Envoyez POST /v2/browser/sessions. La réponse contient une connectUrl.
- 3 Transmettez-la à connectOverCDP() et travaillez comme d'habitude. Fermer le navigateur arrête la session.
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 import os, requestsfrom playwright.sync_api import sync_playwrightsession = requests.post( 'https://api.floppydata.net/v2/browser/sessions', headers={'X-Api-Key': os.environ['FLOPPY_API_KEY']}, json={'proxy': { 'type': 'residential', 'location': {'countryCode': 'US'}, }},).json()with sync_playwright() as p: browser = p.chromium.connect_over_cdp(session['connectUrl']) page = browser.contexts[0].new_page() page.goto('https://example.com/') print(page.title()) browser.close() import { test as base, expect, chromium } from '@playwright/test';const SESSIONS_URL = 'https://api.floppydata.net/v2/browser/sessions';const test = base.extend({ page: async ({}, use) => { const res = await fetch(SESSIONS_URL, { method: 'POST', headers: { 'X-Api-Key': process.env.FLOPPY_API_KEY, 'Content-Type': 'application/json', }, body: '{}', }); const { connectUrl } = await res.json(); const browser = await chromium.connectOverCDP(connectUrl); await use(await browser.contexts()[0].newPage()); await browser.close(); },});test('home page loads', async ({ page }) => { await page.goto('https://example.com/'); await expect(page.locator('h1')).toBeVisible();}); Créer une session, se connecter, ouvrir une page.
Du Playwright local au Playwright dans le cloud
En local, chaque worker Playwright lance son propre Chromium. Quand une suite de tests ou un scraper grandit, ces navigateurs se disputent le CPU et la mémoire, et chaque runner de CI doit d'abord les télécharger.
Avec Floppydata Cloud Browser, Chromium tourne à distance. Votre code se connecte via le Chrome DevTools Protocol : playwright-core suffit de votre côté, et chaque exécution obtient sa propre session de navigateur.
const browser =
await chromium.connectOverCDP(connectUrl); Tout ce qui suit cette ligne reste identique. connectUrl provient de la requête de création ci-dessus.
Playwright avec des proxys intégrés
Chaque session passe par les proxys Floppydata : aucun serveur proxy à configurer dans Playwright. Choisissez le type d'IP, le pays et la rotation, puis envoyez le résultat comme corps de la requête de création.
Configurez votre session Playwright dans le cloud
{
"proxy": {
"type": "residential",
"location": {
"countryCode": "US"
},
"rotation": {
"mode": "sticky"
}
}
} La même requête peut cibler une ville, un État ou un ASN. Les IP résidentielles couvrent 148 pays, les mobiles 150 et celles de centres de données 71.
Playwright local ou dans le cloud
| Playwright local | Playwright sur Cloud Browser | |
|---|---|---|
| Chromium | Installé et mis à jour sur chaque machine | Tourne dans le cloud Floppydata |
| Navigateurs en CI | Téléchargés sur chaque runner | Inutiles : playwright-core suffit |
| Proxys | Configurés par vous à chaque lancement | Intégrés : résidentiels, mobiles ou de centres de données |
| Navigateurs en parallèle | Limités par votre CPU et votre RAM | Jusqu'à 100 sessions par compte |
| Coût du navigateur | Le temps de vos serveurs | Gratuit : seul le trafic proxy est facturé |
| Connexion | Protocole Playwright, tous les moteurs de navigateur | CDP avec connectOverCDP(), Chromium uniquement |
connectOverCDP() couvre ce que font la plupart des scripts (navigation, locators, clics, formulaires, attentes et JavaScript), mais ce n'est pas le protocole Playwright complet. Vérifiez tout usage inhabituel avec vos propres scripts.
Dimensionnez et réglez chaque session
Chaque paramètre est un champ facultatif de la requête de création : n'envoyez que ceux dont vous avez besoin, ou rien du tout pour obtenir un proxy résidentiel, une empreinte cohérente et un délai de 10 minutes.
-
Exécutions en parallèle : jusqu'à 100 sessions simultanées sur un compte, davantage sur demande
-
Empreinte : OS, langue, fuseau horaire, matériel, et masquage canvas, WebGL et WebRTC
-
Durée d'exécution : de 1 minute à 6 heures, avec reconnexion quand keepAlive est activé
-
État enregistré : réutilisez une identité de navigateur et ses cookies d'une session à l'autre
-
Start URLs : ouvrez une ou plusieurs pages au lancement, chacune dans son propre onglet
-
Metadata : marquez une session avec l'ID de votre tâche pour la relier à vos logs
Déboguez Playwright dans un navigateur en direct
Quand un script s'arrête sur un écran qu'il n'attendait pas, comme une bannière de consentement ou une étape de connexion supplémentaire, ouvrez une vue en direct de la session dans votre propre navigateur et voyez exactement ce qu'affiche la page.
Playwright et la vue en direct utilisent la même session à tour de rôle : l'exécution reprend là où elle s'est arrêtée au lieu de tout recommencer. En savoir plus sur le mode UI
- 1 Créez la session avec keepAlive: true pour qu'une déconnexion ne l'arrête pas.
- 2 Quand une exécution s'arrête sur un écran inattendu, déconnectez Playwright.
- 3 Demandez une vue en direct et ouvrez-la : regardez la page et réglez le problème à la main.
- 4 Récupérez à nouveau la session et reconnectez Playwright avec la nouvelle connectUrl.
Gratuit pour les utilisateurs des proxys Floppydata
Cloud Browser n'a ni abonnement, ni frais d'exécution, ni frais par session. Chaque session passe par les proxys Floppydata, et vous ne payez que le trafic proxy qu'elle consomme : à partir de $1.00 par Go, un seul tarif pour les proxys résidentiels, mobiles et de centres de données.
Si vous achetez déjà des proxys Floppydata, Cloud Browser est inclus : le même solde, la même clé API. Lancez jusqu'à 100 sessions simultanées sur un compte, ou demandez au support de relever la limite.
Erreurs fréquentes de connexion de Playwright au cloud
Ce que l'API ou la connexion indique quand quelque chose ne va pas, et ce qu'il faut faire.
| Erreur | Ce que cela signifie | Que faire |
|---|---|---|
unauthorized | La connectUrl signée a expiré ou n'est pas valide. | Récupérez à nouveau la session et connectez-vous avec sa nouvelle connectUrl. |
connection_in_use | Un autre client ou une vue en direct est déjà connecté : une seule connexion par session. | Fermez l'autre connexion, puis réessayez. |
session_not_active | La session s'est arrêtée, a expiré ou a échoué. | Créez une nouvelle session ; pour les tâches longues, augmentez runtime.timeoutSeconds. |
| La connexion se ferme | Un seul message a dépassé environ 1 MiB, par exemple une capture d'écran pleine page ou une image de screencast. | Faites des captures du viewport ou d'un élément, ou recadrez la zone utile. |
upstream_error | Une opération du service de navigateurs a échoué un instant. | Réessayez : arrêter une session peut être répété sans risque. |