Skip to content

Início Rápido: Conectar

Este capítulo utiliza um script simples para demonstrar como iniciar um ambiente Mbbrowser específico e assumir o controle dele através de código.

Script Prático

Por favor, crie um arquivo chamado start.js e copie o seguinte código para ele:

javascript
const puppeteer = require('puppeteer-core');
const axios = require('axios'); // Certifique-se de executar: npm install axios

async function startProject() {
  // 1. Configurar informações de configuração
  const API_URL = 'http://127.0.0.1:8186'; // Endereço do ApiServer
  const SESSION_ID = '373808cb37bd63f5f7d92415e736e85f'; // Seu ID de Ambiente

  try {
    // 2. Chamar a interface do Mbbrowser para iniciar o ambiente
    console.log('Iniciando o ambiente Mbbrowser...');
    const response = await axios.post(`${API_URL}/api/v1/browser/start`, {
      Session_ID: SESSION_ID
    });

    if (response.data.code === 0) {
      // 3. Obter o endereço de conexão WebSocket
      const wsEndpoint = response.data.data.ws;
      console.log('Ambiente iniciado com sucesso, assumindo o controle...');

      // 4. Usar o Puppeteer para conectar a este ambiente
      const browser = await puppeteer.connect({
        browserWSEndpoint: wsEndpoint,
        defaultViewport: null // Usar o tamanho de janela padrão do navegador
      });

      // 5. Abrir uma nova página e navegar
      const page = await browser.newPage();
      await page.goto('https://www.mbbrowser.com', { waitUntil: 'networkidle2' });

      console.log('Título da Página Atual:', await page.title());

      // 6. Desconectar após a operação (O ambiente permanece em execução a menos que você chame a interface de parada)
      await browser.disconnect();
      console.log('Operação de automação concluída!');
      
    } else {
      console.error('Falha na inicialização do ambiente:', response.data.message);
    }
  } catch (error) {
    console.error('Erro de conexão:', error.message);
  }
}

startProject();

Conceitos Chave

  1. axios.post: Primeiro, envie uma solicitação ao ApiServer para abrir o ambiente. Sem o ambiente em execução, o Puppeteer não tem com o que se conectar.
  2. wsEndpoint: Esta é a "chave única" retornada após o sucesso. O Puppeteer usa este endereço para entrar no interior do navegador.
  3. puppeteer.connect: Observe que é connect (conectar-se a um navegador existente) em vez de launch (iniciar um novo navegador). Esta é a diferença central na automação de navegadores de impressão digital.
  4. browser.disconnect: Recomenda-se desconectar quando o script for finalizado. Dessa forma, mesmo que o script termine, a janela do navegador normalmente permanece na área de trabalho, permitindo observação ou operações manuais de acompanhamento.

TIP

Dominou a assumir o controle de ambientes? O próximo capítulo Referência Principal da API ensinará como fazer o navegador executar comandos mais complexos.