Skip to content

候鳥 + Playwright 自動化:初心者向けスタートガイド

Selenium がクラシックな名盤、Puppeteer が軽量なヒット作だとすれば、Playwright はその両方の長所を併せ持ち、Microsoft が生み出した「次世代のフラッグシップ」です。候鳥(Mbbrowser)は v7.8 バージョンから正式に Playwright エンジンをサポートしており、この強力な自動化フレームワーク上で数千ものアカウントを簡単に管理できます。


1. 候鳥(Mbbrowser)とは?(おさらい)

指紋ブラウザの核心的な価値は、各アカウントに「独立したデジタルアイデンティティ」を与え、対象プラットフォームに複数アカウントの管理を察知させないことにあります。

各環境は以下の要素を独立して維持します:

分離の次元説明
ブラウザ指紋Canvas、WebGL、AudioContext、フォント、プラグインなどをすべて独立かつランダム化
プロキシ IP各環境に異なるプロキシを設定し、実 IP の漏洩を防ぐ
Cookie / ストレージアカウントデータを完全に隔離し、ログイン状態を永続的に保存
User-AgentWindows、Mac、iPhone など、あらゆるデバイスをシミュレート可能
タイムゾーン / 言語プロキシ IP の地域に合わせることで、地域検知を回避

2. Playwright とは? なぜ選ぶのか?

Playwright は Microsoft が開発したオープンソースのブラウザ自動化フレームワークです。2020 年のリリース以来、フロントエンド自動化の分野で最も急速に成長しています。

Playwright の主なメリット

メリット説明
オートウェイトインテリジェントな待機メカニズムを内蔵。多くの操作で sleep を書く必要がなく、要素が操作可能になるまで自動で待機します。
Locator(ロケータ)新しい Locator API は従来のセレクタより安定しており、動的なコンテンツに対しても自動リトライを行います。
ネットワークインターセプトあらゆるネットワークリクエストを傍受、変更、モック化でき、認証の回避やデバッグに強力です。
マルチ言語サポートJavaScript、Python、Java、C#、.NET のすべてで公式にメンテされたバインディングがあります。
マルチコンテキスト複数タブ操作をネイティブサポート。コンテキストの分離により、マルチアカウント運用に最適です。
高速な実行CDP プロトコルでブラウザに直結するため、Selenium WebDriver より 30-50% 高速に応答します。

3. 候鳥 + Playwright の連携の仕組み

テクニカルアーキテクチャ

あなたのスクリプト(JS / Python / Java)
        ↓ HTTP リクエスト(候鳥に「環境を開け」と指示)
候鳥 ApiServer(apiserver.exe)
        ↓ WebSocket アドレスを返す(ws://127.0.0.1:ポート/devtools/browser/ID)
Playwright  chromium.connectOverCDP(ws_endpoint)
        ↓ CDP プロトコルで Chrome エンジンを「乗っ取る」
候鳥指紋ブラウザ環境(指紋 + プロキシ + Cookie が適用済み)
        ↓ 本物の指紋を持ってリクエスト送信
      対象サイト(本物のユーザーだと認識)

核心となる接続方法:connectOverCDP

これは「候鳥 + Playwright」の核心となるメソッドです。通常の Playwright がブラウザプロセスを新規起動するのに対し、ここでは connectOverCDP を使って候鳥ですでに起動しているブラウザインスタンスを制御します。


4. 3つの主要言語をサポート

JavaScript / TypeScript (Node.js)

javascript
const { chromium } = require('playwright');
const browser = await chromium.connectOverCDP(ws_endpoint);

Python

python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(ws_endpoint)

Java

java
import com.microsoft.playwright.*;
Browser browser = playwright.chromium().connectOverCDP(ws_endpoint);

TIP

準備はいいですか?次の章 環境構築と設定 では、必要な環境の構成手順をステップバイステップで解説します。