Skip to content

Mbbrowser + Selenium 자동화: 초보자 가이드

Python을 작성할 수 있거나 학교에서 Selenium을 배운 적이 있다면, "Mbbrowser + Selenium"은 다계정 자동화를 위한 가장 좋은 시작점입니다.

이 튜토리얼 시리즈는 "한 번도 접해보지 못한 상태"에서 "안정적인 자동화 스크립트를 독립적으로 작성할 수 있는 상태"까지 쉬운 용어로 안내해 드립니다.


1. Mbbrowser 핑거프린트 브라우저란?

Selenium을 배우기 전에, 전체 솔루션의 "기반"이 되는 Mbbrowser가 무엇인지 잠시 살펴보겠습니다.

왜 핑거프린트 브라우저가 필요한가요?

이런 시나리오를 상상해 보세요: 당신은 아마존에서 20개의 상점 계정을 운영하는 글로벌 셀러입니다.

  • 일반 크롬을 사용하는 경우: 같은 컴퓨터에서 20개의 계정에 로그인하면, 아마존의 위험 관리 시스템은 이 계정들의 IP와 브라우저 핑거프린트가 동일하다는 것을 감지합니다. 즉시 이를 '연관 계정'으로 판단하여 트래픽 제한을 걸거나, 최악의 경우 일괄 정지 처리를 합니다.
  • Mbbrowser를 사용하는 경우: 각 계정은 독립적인 "브라우저 신분증"을 가집니다. 브라우저 핑거프린트, 프록시 IP, 쿠키 데이터, 시간대/언어 등의 정보가 완전히 격리됩니다. 아마존의 눈에는 이 20개의 계정이 전 세계 곳곳에 흩어져 있는 20명의 서로 다른 사람으로부터 온 것으로 보이기 때문에 연관되지 않습니다.

Mbbrowser는 각 계정에 맞춰 최적화된 "가상 컴퓨터"를 만드는 것과 같습니다.

Mbbrowser는 어떤 부분들로 구성되나요?

핵심 구성 요소를 이해하면 자동화가 어떻게 작동하는지 더 잘 이해할 수 있습니다.

구성 요소설명
Mbbrowser 메인 프로그램 (mbbrowser.exe)모든 브라우저 환경을 관리하는 "본부"입니다. 여기서 각 핑거프린트 환경을 생성, 구성 및 실행합니다.
크롬 커널 (chrome.exe)Mbbrowser는 커스텀 크롬 커널을 사용합니다. 각 환경은 독립적인 크롬 인스턴스를 실행합니다.
CDP 서비스 (cdp.exe)Chrome DevTools Protocol 서비스로, 자동화가 브라우저 제어권을 가져오는 기술적 진입점입니다.
ApiServer (apiserver.exe)당신의 스크립트와 Mbbrowser 사이의 "API 접견원"입니다. 스크립트로부터 HTTP 명령을 받고 브라우저 디버깅 포트를 반환합니다.

2. Selenium이란?

Selenium은 20년의 역사를 가진 세계에서 가장 인기 있는 브라우저 자동화 프레임워크로, SeleniumHQ에서 관리합니다.

핵심 능력: 코드를 통해 브라우저를 제어하여, 실제 사람처럼 웹페이지에 접속하고, 버튼을 클릭하고, 양식을 채우고, 데이터를 읽는 것입니다.

Selenium 4.x의 개선 사항

현재 주류 버전은 **Selenium 4.x (2024-2026 적극 지원)**이며, 구버전에 비해 크게 개선되었습니다.

  • 내장 Selenium Manager: 더 이상 ChromeDriver를 수동으로 다운로드할 필요가 없습니다. Selenium이 자동으로 버전을 맞춥니다.
  • 개선된 상대적 위치 지정 (Relative Locators): above(), below(), near() 등을 사용하여 위치 기반으로 요소를 찾을 수 있습니다.
  • 기본 크롬 개발자 도구(CDP) 지원: CDP 프로토콜을 통해 네트워크 요청을 가로채거나 장치를 직접 시뮬레이션할 수 있습니다.
  • 향상된 대기 메커니즘: 더욱 안정적인 명시적 대기(Explicit Wait)를 통해 네트워크 속도로 인한 스크립트 중단을 줄입니다.

3. Mbbrowser + Selenium은 어떻게 함께 작동하나요?

이것이 전체 자동화 솔루션의 핵심 개념입니다. 꼭 이해해 두세요:

역할 분담

사용자 Python 스크립트
      ↓ HTTP 요청 (Mbbrowser에 "어떤 환경을 열 것인지" 알림)
  Mbbrowser ApiServer
      ↓ debuggerAddress 반환 (예: 127.0.0.1:9222)
Selenium ChromeDriver
      ↓ 디버깅 포트를 통해 브라우저 "제어권 획득"
Mbbrowser 핑거프린트 환경 (핑거프린트, 프록시, 쿠키가 모두 적용된 상태)
      ↓ 실제 핑거프린트로 요청 전송
      대상 웹사이트
역할구성 요소책임
Mbbrowser (본체/핑거프린트 레이어)메인 프로그램 + ApiServerUA, Canvas, WebGL, 프록시 IP, 쿠키 격리 등 완벽한 핑거프린트 변장을 제공합니다.
ChromeDriver (신경/번역 레이어)chromedriver.exe"번역가" 역할을 하며, Selenium 명령(예: click())을 Chrome DevTools Protocol 명령으로 변환합니다.
Selenium (두뇌/실행 레이어)Python/Java 스크립트비즈니스 명령을 내립니다: 페이지 열기, 양식 채우기, 클릭, 스크린샷, 데이터 읽기 등.

일반 Selenium과의 본질적인 차이점

차원일반 SeleniumMbbrowser + Selenium
시작 방식webdriver.Chrome()이 빈 브라우저를 직접 시작함debuggerAddress가 기존의 Mbbrowser 환경을 인수하여 제어함
핑거프린트표준 크롬 핑거프린트, 봇으로 감지되기 쉬움각 환경마다 고유한 핑거프린트 보유, 실제 사용자와 동일함
IP 주소호스트 PC의 IP 사용, 계정 간 공유됨각 환경마다 독립적인 프록시 IP 설정 가능
쿠키 (Cookie)실행될 때마다 초기화됨Mbbrowser 환경 내에 쿠키가 영구적으로 저장됨
관리 방식수동 전환, 혼동하기 쉬움Session_ID로 매칭되어 절대 혼동되지 않음

TIP

한 줄 요약: Mbbrowser는 "각 계정의 역할을 연기"하는 책임을 지고, Selenium은 "그 역할이 당신을 위해 일하게 만드는" 책임을 집니다. 명확한 분업을 통해 완벽하게 협업합니다.


4. Selenium과 Puppeteer 중 무엇을 선택해야 할까요?

Mbbrowser는 Selenium과 Puppeteer를 모두 지원합니다. 둘 다 제어 작업을 수행할 수 있지만, 다음과 같은 차이가 있습니다:

차원SeleniumPuppeteer
지원 언어Python, Java, C#, Ruby 등 다양함주로 Node.js (JavaScript)
학습 난이도Python 개발자에게 더 친숙함프론트엔드/JS 개발자에게 더 친숙함
대기 메커니즘강력한 명시적/암시적 대기 메커니즘 제공수동으로 waitForSelector 작성 필요
커뮤니티매우 방대함; 답변을 찾기 쉬움상대적으로 리소스가 적지만 빠르게 성장 중
권장 용도이커머스, 스크래핑, Python 개발자스크린샷, 프론트엔드 테스트, JS 개발자

5. 전형적인 비즈니스 시나리오

  • 🛒 글로벌 이커머스: Amazon, eBay, Shopify 자동 로그인, 주문 확인, 재고 갱신.
  • 📱 소셜 미디어 운영: 일괄 포스팅, 좋아요, 팔로우 및 DM 전송.
  • 🔍 SEO 데이터 수집: 로그인 보호 페이지에 접속하여 순위 데이터 수집.
  • 👤 계정 육성 (Warming): 실제 사용자 브라우징 패턴을 모사하여 계정 권한 점수 향상.
  • 🎮 대량 가입/로그인: 자동으로 계정을 생성하고 본인 인증 절차 완료.

TIP

준비되셨나요? 다음 장 설치 및 ApiServer 구성에서는 필요한 모든 환경을 설정하고 10분 이내에 첫 번째 스크립트를 실행하는 방법을 안내해 드립니다.