Skip to content

Início Rápido: Controlando o Ambiente Mbbrowser

Este capítulo fornece um script Python pronto para usar, que permite assumir o controle de um ambiente do Mbbrowser e completar sua primeira tarefa automatizada.


Script Completo (Copiar e Usar)

Crie um arquivo chamado start_selenium.py, cole o código abaixo e modifique os campos de configuração:

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

# ============================
# Seção de Configuração: Modifique com suas informações
# ============================
API_URL    = "http://127.0.0.1:8186"
SESSION_ID = "substitua_pelo_seu_id_de_ambiente"    # Obtenha clicando com o botão direito → Copiar ID do Ambiente no Mbbrowser
# Caminho para o chromedriver.exe no diretório do Mbbrowser
DRIVER_PATH = r"C:\Program Files (x86)\Mbbrowser_v7.10.20.219\chromedriver.exe"


def iniciar_browser():
    """
    Passo 1: Dizer ao ApiServer para abrir um ambiente específico.
    Passo 2: Obter o debuggerAddress do valor retornado.
    Passo 3: Usar o Selenium para assumir o controle desse ambiente.
    Passo 4: Executar a lógica de automação.
    """

    # ── Passo 1: Abrir Ambiente do Mbbrowser ──────────────────────────
    print("⏳ Iniciando o ambiente do 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("❌ Não foi possível conectar ao ApiServer. Certifique-se de que ele está rodando!")
        return

    if data.get("code") != 0:
        print(f"❌ Falha ao iniciar ambiente: {data.get('message')}")
        return

    # ── Passo 2: Extrair Endereço de Depuração Remota ──────────────────
    # formato de data["data"]["http"]: 127.0.0.1:9222
    debugger_address = data["data"]["http"]
    print(f"✅ Ambiente iniciado. Endereço: {debugger_address}")

    # ── Passo 3: Configurar Selenium para Controle ───────────────────
    chrome_options = Options()
    # Este é o parâmetro CHAVE para depuração remota em um browser existente!
    chrome_options.add_experimental_option("debuggerAddress", debugger_address)

    service = Service(executable_path=DRIVER_PATH)
    driver = webdriver.Chrome(service=service, options=chrome_options)

    print("🎉 Selenium assumiu o controle com sucesso!")

    # ── Passo 4: Executar sua Lógica de Negócios ─────────────────────────
    try:
        # Navegar para uma URL
        driver.get("https://www.mbbrowser.com")
        print(f"📄 Título da Página: {driver.title}")

        # Aguardar 3 segundos para observação
        time.sleep(3)

        print("✅ Execução do script concluída!")
    finally:
        # IMPORTANTE: Isso apenas desconecta a sessão do Selenium.
        # O ambiente do Mbbrowser continuará rodando.
        driver.quit()


if __name__ == "__main__":
    iniciar_browser()

O que acontece quando você executa:

  1. Chama o ApiServer: O script envia uma requisição para iniciar o navegador com seu perfil salvo.
  2. Conexão Remota: O Selenium não cria uma nova janela, ele se "atacha" à janela do Mbbrowser que acabou de abrir.
  3. Identidade: O site visitado verá todas as suas impressões digitais salvas no Mbbrowser, não uma máquina virtual genérica.

TIP

Script rodando? O próximo capítulo Referência da API ensinará como realizar operações complexas: locadores, espera explícita, injeção de scripts e muito mais!