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
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.wsEndpoint: Esta é a "chave única" retornada após o sucesso. O Puppeteer usa este endereço para entrar no interior do navegador.puppeteer.connect: Observe que éconnect(conectar-se a um navegador existente) em vez delaunch(iniciar um novo navegador). Esta é a diferença central na automação de navegadores de impressão digital.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.
