Skip to content

Guide de démarrage rapide : Prendre le contrôle de l'environnement Mbbrowser ​

Ce chapitre fournit un script Python que vous pouvez directement copier et exécuter, vous guidant de zéro jusqu'à la prise de contrôle réussie d'un environnement d'empreinte Mbbrowser et à la réalisation de votre première tâche d'automatisation.


Script complet (Copier et utiliser) ​

Créez un fichier nommé start_selenium.py, collez le code suivant et modifiez la section de configuration :

python
import requests
import time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service

# ============================
# Section de configuration : Modifiez avec vos propres informations
# ============================
API_URL    = "http://127.0.0.1:8186"
SESSION_ID = "remplacer_par_votre_session_id"        # Obtenir via clic droit → Copier l'ID de l'environnement dans Mbbrowser
# Chemin vers chromedriver.exe dans le répertoire Mbbrowser (ou définissez sur None pour la correspondance auto de Selenium Manager)
DRIVER_PATH = r"C:\Program Files (x86)\Mbbrowser_v7.10.20.219\chromedriver.exe"


def start_browser():
    """
    Étape 1 : Dire à l'ApiServer de Mbbrowser d'ouvrir un environnement spécifique.
    Étape 2 : Obtenir le debuggerAddress à partir de la valeur de retour.
    Étape 3 : Utiliser Selenium pour prendre le contrôle de cet environnement.
    Étape 4 : Exécuter la logique commerciale.
    """

    # ── Étape 1 : Ouvrir l'environnement Mbbrowser ──────────────────────────
    print("⏳ Démarrage de l'environnement d'empreinte Mbbrowser...")
    try:
        response = requests.post(
            f"{API_URL}/api/v1/browser/start",
            json={"Session_ID": SESSION_ID},
            timeout=30
        )
        data = response.json()
    except requests.exceptions.ConnectionError:
        print("❌ Impossible de se connecter à l'ApiServer. Assurez-vous qu'il est démarré et que le port est correct !")
        return

    if data.get("code") != 0:
        print(f"❌ Échec du démarrage de l'environnement : {data.get('message')}")
        return

    # ── Étape 2 : Extraire l'adresse de débogage à distance ──────────────────────
    # Format de data["data"]["http"] : 127.0.0.1:9222
    debugger_address = data["data"]["http"]
    print(f"✅ Environnement démarré. Adresse de débogage à distance : {debugger_address}")

    # ── Étape 3 : Configurer Selenium pour prendre le contrôle ───────────────────
    chrome_options = Options()
    # C'est le paramètre clé pour prendre le contrôle d'un navigateur existant (au lieu d'en créer un nouveau) !
    chrome_options.add_experimental_option("debuggerAddress", debugger_address)

    # Si vous avez le chromedriver inclus avec Mbbrowser, spécifiez son chemin ;
    # Sinon, définissez sur None pour que Selenium Manager le gère automatiquement.
    if DRIVER_PATH:
        service = Service(executable_path=DRIVER_PATH)
        driver = webdriver.Chrome(service=service, options=chrome_options)
    else:
        driver = webdriver.Chrome(options=chrome_options)

    print("🎉 Prise de contrôle par Selenium réussie !")

    # ── Étape 4 : Exécuter votre logique commerciale ─────────────────────────
    try:
        # Naviguer vers l'URL cible
        driver.get("https://www.mbbrowser.com")
        print(f"📄 Titre de la page actuelle : {driver.title}")

        # Attendre 3 secondes pour l'observation
        time.sleep(3)

        print("✅ Exécution du script terminée !")
    finally:
        # IMPORTANT : Cela ne fait que "déconnecter la connexion Selenium."
        # L'environnement Mbbrowser continuera de s'exécuter.
        # Pour fermer complètement le navigateur, appelez l'API /api/v1/browser/stop.
        driver.quit()


if __name__ == "__main__":
    start_browser()

Exécuter le script :

bash
python start_selenium.py

Sortie attendue ​

⏳ Démarrage de l'environnement d'empreinte Mbbrowser...
✅ Environnement démarré. Adresse de débogage à distance : 127.0.0.1:9222
🎉 Prise de contrôle par Selenium réussie !
📄 Titre de la page actuelle : MBBrowser Anti-association Browser - Multi-Account Solution
✅ Exécution du script terminée !

Analyse ligne par ligne ​

1. Appeler l'ApiServer pour démarrer l'environnement ​

python
response = requests.post(
    f"{API_URL}/api/v1/browser/start",
    json={"Session_ID": SESSION_ID}
)
  • Cette étape dit à Mbbrowser : "Aidez-moi à ouvrir l'environnement d'empreinte avec le Session_ID XXX."
  • À la réception de la requête, l'ApiServer démarre l'instance Chrome correspondante et ouvre un port de débogage à distance.

2. Extraire debuggerAddress ​

python
debugger_address = data["data"]["http"]  # ex : 127.0.0.1:9222
  • Les informations contenues dans le champ http correspondent à l'adresse du port de débogage à distance de Chrome (généralement 127.0.0.1:PORT).
  • Chaque environnement Mbbrowser possède un numéro de port unique attribué automatiquement par Mbbrowser, permettant des exécutions simultanées sans conflit.

3. Définir debuggerAddress pour prendre le contrôle (Étape cruciale !) ​

python
chrome_options.add_experimental_option("debuggerAddress", debugger_address)
driver = webdriver.Chrome(options=chrome_options)

C'est la différence essentielle entre l'automatisation Selenium de Mbbrowser et le Selenium standard :

ActionSelenium standardSelenium Mbbrowser
Créer le PiloteLance une nouvelle fenêtre Chrome viergeSe connecte et prend le contrôle d'un navigateur Mbbrowser existant
EmpreinteAucune ; état nuEmpreintes complètes (UA, Canvas, WebGL, IP tous en place)
État des cookiesVide ; nécessite une nouvelle connexionConserve l'état de connexion précédent (si déjà connecté)

4. Traitement après exécution ​

python
driver.quit()  # Déconnecte le contrôle de Selenium (l'environnement Mbbrowser continue de s'exécuter)

NOTE

driver.quit() déconnecte seulement le chemin de contrôle de Selenium du navigateur — il ne ferme pas la fenêtre Mbbrowser.

Pour fermer complètement le navigateur, invoquez :

python
requests.post(f"{API_URL}/api/v1/browser/stop", json={"Session_ID": SESSION_ID})

Dépannage ​

❓ Erreur : Cannot connect to the Service ​

Raison : Incompatibilité de version de chromedriver.exe avec le noyau Mbbrowser.

Solution :

  1. Utilisez le chromedriver.exe inclus dans le répertoire Mbbrowser et spécifiez son chemin dans Service.
  2. Alternativement, supprimez la config DRIVER_PATH (définissez sur None) et laissez Selenium Manager s'en charger.

❓ Erreur : ConnectionError : Cannot connect to ApiServer ​

Raison : l'ApiServer n'est pas en cours d'exécution, ou le port est occupé.

Solution :

  1. Confirmez que la fenêtre du terminal de l'ApiServer est toujours en cours d'exécution.
  2. Confirmez que le port dans API_URL correspond au paramètre --port.
  3. Vérifiez si le pare-feu bloque le port 8186.

❓ Erreur : code != 0 : Échec du démarrage de l'environnement ​

Raison : Session_ID incorrect, ou l'environnement est déjà en cours d'exécution.

Solution :

  1. Confirmez dans Mbbrowser que vous avez copié le bon Session_ID.
  2. Si l'environnement est déjà en cours d'exécution, appelez l'interface d'arrêt avant de redémarrer.

❓ Le navigateur s'ouvre, mais pas en état de connexion ​

Raison : C'est la première fois que l'environnement est ouvert ; vous ne vous êtes pas encore connecté, les cookies sont donc vides.

Solution : C'est normal. Ensuite, lisez Référence API de base pour apprendre à injecter des cookies ou à automatiser la connexion.


TIP

Le script fonctionne ? Le prochain chapitre Référence API de base vous apprendra à effectuer des opérations plus complexes avec Selenium : positionnement d'éléments, saisie, clic, attente et captures d'écran... tout y est !