Retour au Blog
Démarrage

Premiers pas avec BotBrowser et Playwright

Guide complet pour intégrer BotBrowser avec Playwright : profils d'empreinte, proxy et contextes multiples.

Introduction

Playwright est le framework d'automatisation de navigateurs de Microsoft, apprécié pour son auto-waiting fiable, son support multi-navigateurs et son API puissante. BotBrowser remplace le binaire Chromium standard par un binaire qui produit des empreintes cohérentes contrôlées par des profils. Playwright gère la logique d'automatisation, BotBrowser la couche d'identité du navigateur.

Ce guide couvre l'installation, la configuration du lancement, le proxy, les contextes, la gestion du viewport, les pièges courants et les modèles de déploiement en production.

Pourquoi Playwright + BotBrowser ?

Playwright, par défaut, utilise un Chromium qui expose l'empreinte réelle de l'hôte. BotBrowser permet de charger des profils d'empreinte différents pour chaque instance, fournissant des identités distinctes sans modifier les scripts d'automatisation.

Contexte technique

playwright-core vs playwright

Le paquet playwright inclut des binaires de navigateurs. playwright-core fournit la même API sans les binaires, il faut donc préciser executablePath lors du launch, ce qui est adapté pour pointer vers BotBrowser.

# Installer playwright-core, pas playwright
npm install playwright-core

Comment fonctionne le lancement

Playwright démarre le processus Chrome avec les arguments fournis. Les flags BotBrowser (--bot-profile, --bot-config-*) sont passés via args et traités par BotBrowser au démarrage. Playwright se connecte ensuite au serveur CDP exposé par BotBrowser.

Contextes de navigateur

Un contexte est une session isolée avec cookies et stockage propres. Les contextes partagent le profil de fingerprint chargé au niveau du navigateur ; pour des identités différentes, lancez des instances distinctes.

Intégration minimale

  1. Installer playwright-core.
  2. Spécifier le chemin du binaire BotBrowser dans executablePath.
  3. Fournir un fichier de profil .enc.

Exemples

Lancement basique

const { chromium } = require('playwright-core');

(async () => {
  const browser = await chromium.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: ['--bot-profile=/path/to/profile.enc'],
    headless: true,
  });

  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://example.com');

  console.log('Page title:', await page.title());
  await browser.close();
})();

Profil + proxy + locale

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: [
    '--bot-profile=/path/to/profile.enc',
    '--proxy-server=socks5://user:pass@proxy:1080',
    '--bot-config-timezone=America/New_York',
    '--bot-config-locale=en-US',
  ],
  headless: true,
});

Bonnes pratiques

  • Utiliser playwright-core.
  • Donner un chemin absolu à --bot-profile.
  • Ne pas surcharger le viewport si le profil gère la résolution.
  • Sur Linux, définir DISPLAY=:10.0.

Résumé

L'intégration est minimale : installer playwright-core, ajouter executablePath et --bot-profile. Tout le reste fonctionne avec l'API Playwright standard.

title: "Demarrer avec BotBrowser et Playwright" description: "Guide de demarrage rapide pour utiliser BotBrowser avec Playwright pour l'automatisation de navigateur avec des profils d'empreinte coherents." date: "2025-02-18" locale: fr category: getting-started tags: ["playwright", "automation", "getting-started", "tutorial"] published: true

Presentation

Playwright gere la logique d'automatisation. BotBrowser gere la couche d'identite du navigateur. Ensemble, ils fournissent une automatisation de navigateur avec une sortie d'empreinte coherente controlee par des fichiers de profil.

Prerequis

  • Binaire BotBrowser (telecharger depuis GitHub)
  • Un fichier de profil d'empreinte (format .enc)
  • Node.js 18+
  • npm install playwright-core

Demarrage rapide

const { chromium } = require('playwright-core');

(async () => {
  const browser = await chromium.launch({
    executablePath: '/path/to/botbrowser/chrome',
    args: [
      '--bot-profile=/path/to/profile.enc',
    ],
    headless: true,
  });

  const context = await browser.newContext();
  const page = await context.newPage();
  await page.goto('https://example.com');

  // Votre logique d'automatisation ici

  await browser.close();
})();

Configuration cle

Utilisez playwright-core, pas playwright. Le package complet playwright inclut son propre Chromium. Utilisez playwright-core pour lancer le binaire BotBrowser.

Definissez defaultViewport: null pour empecher Playwright de remplacer les dimensions d'ecran definies dans votre profil.

Exemple profil + proxy

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: [
    '--bot-profile=/path/to/profile.enc',
    '--proxy-server=socks5://user:pass@proxy:1080',
    '--bot-config-timezone=America/New_York',
    '--bot-config-locale=en-US',
    '--bot-config-languages=en-US,en',
  ],
  headless: true,
});

Problemes courants

Le navigateur ne demarre pas : Assurez-vous que le binaire a les permissions d'execution (chmod +x chrome).

Profil non charge : Utilisez des chemins absolus pour --bot-profile.

Taille d'ecran incorrecte : Definissez defaultViewport: null dans les options de lancement.

Etapes suivantes

#playwright#automation#getting-started#tutorial