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 :
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 :
python start_selenium.pySortie 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
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
debugger_address = data["data"]["http"] # ex : 127.0.0.1:9222- Les informations contenues dans le champ
httpcorrespondent à l'adresse du port de débogage à distance de Chrome (généralement127.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 !)
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 :
| Action | Selenium standard | Selenium Mbbrowser |
|---|---|---|
| Créer le Pilote | Lance une nouvelle fenêtre Chrome vierge | Se connecte et prend le contrôle d'un navigateur Mbbrowser existant |
| Empreinte | Aucune ; état nu | Empreintes complètes (UA, Canvas, WebGL, IP tous en place) |
| État des cookies | Vide ; nécessite une nouvelle connexion | Conserve l'état de connexion précédent (si déjà connecté) |
4. Traitement après exécution
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 :
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 :
- Utilisez le
chromedriver.exeinclus dans le répertoire Mbbrowser et spécifiez son chemin dansService. - Alternativement, supprimez la config
DRIVER_PATH(définissez surNone) 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 :
- Confirmez que la fenêtre du terminal de l'ApiServer est toujours en cours d'exécution.
- Confirmez que le port dans
API_URLcorrespond au paramètre--port. - 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 :
- Confirmez dans Mbbrowser que vous avez copié le bon Session_ID.
- 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 !
