Skip to content

Guide de démarrage rapide : Connexion

Ce chapitre utilise un script simple pour démontrer comment démarrer un environnement Mbbrowser spécifié et en prendre le contrôle via le code.

Script Pratique

Veuillez créer un fichier nommé start.js et y copier le code suivant :

javascript
const puppeteer = require('puppeteer-core');
const axios = require('axios'); // Assurez-vous d'exécuter : npm install axios

async function startProject() {
  // 1. Configuration des informations
  const API_URL = 'http://127.0.0.1:8186'; // Adresse de l'ApiServer
  const SESSION_ID = '373808cb37bd63f5f7d92415e736e85f'; // Votre ID d'environnement

  try {
    // 2. Appeler l'interface Mbbrowser pour démarrer l'environnement
    console.log('Démarrage de l\'environnement Mbbrowser...');
    const response = await axios.post(`${API_URL}/api/v1/browser/start`, {
      Session_ID: SESSION_ID
    });

    if (response.data.code === 0) {
      // 3. Obtenir l'adresse de connexion WebSocket
      const wsEndpoint = response.data.data.ws;
      console.log('Environnement démarré avec succès, prise de contrôle...');

      // 4. Utiliser Puppeteer pour se connecter à cet environnement
      const browser = await puppeteer.connect({
        browserWSEndpoint: wsEndpoint,
        defaultViewport: null // Utiliser la taille de fenêtre par défaut du navigateur
      });

      // 5. Ouvrir une nouvelle page et naviguer
      const page = await browser.newPage();
      await page.goto('https://www.mbbrowser.com', { waitUntil: 'networkidle2' });

      console.log('Titre de la page actuelle :', await page.title());

      // 6. Déconnexion après l'opération (L'environnement reste en cours d'exécution sauf si vous appelez l'interface d'arrêt)
      await browser.disconnect();
      console.log('Opération d\'automatisation terminée !');
      
    } else {
      console.error('Échec du démarrage de l\'environnement :', response.data.message);
    }
  } catch (error) {
    console.error('Erreur de connexion :', error.message);
  }
}

startProject();

Aperçu des concepts clés

  1. axios.post : Tout d'abord, envoyez une requête à l'ApiServer pour ouvrir l'environnement. Sans l'environnement en cours d'exécution, Puppeteer n'a rien à quoi se connecter.
  2. wsEndpoint : Il s'agit de la "clé unique" renvoyée en cas de succès. Puppeteer utilise cette adresse pour entrer à l'intérieur du navigateur.
  3. puppeteer.connect : Notez qu'il s'agit de connect (connexion à un navigateur existant) plutôt que launch (démarrage d'un nouveau navigateur). C'est la différence fondamentale dans l'automatisation des navigateurs d'empreintes.
  4. browser.disconnect : Il est recommandé de se déconnecter lorsque votre script est terminé. De cette façon, même si le script s'arrête, la fenêtre du navigateur reste généralement sur le bureau, permettant une observation ou des opérations manuelles de suivi.

TIP

Vous maîtrisez la prise de contrôle des environnements ? Le chapitre suivant Référence API de base vous apprendra comment faire exécuter des commandes plus complexes au navigateur.