クイックスタート:候鳥環境を制御する
この章では、3 つの言語によるすぐに実行可能なスクリプトを提供します。使い慣れた言語を選んで実行してみてください。核となるロジックはすべて同じです。まず ApiServer に ws アドレスを要求し、次に connectOverCDP を使用してブラウザを制御します。
1. JavaScript / Node.js 版
start.js を作成します:
javascript
const { chromium } = require('playwright');
const axios = require('axios');
const API_URL = 'http://127.0.0.1:8186';
const SESSION_ID = 'あなたの環境IDに書き換えてください';
async function main() {
// --- 手順 1: ApiServer を介して環境を起動 ---
console.log('⏳ 環境を起動しています...');
let wsEndpoint;
try {
const response = await axios.post(`${API_URL}/api/v1/browser/start`, {
Session_ID: SESSION_ID
});
if (response.data.code !== 0) {
console.error('❌ 起動失敗:', response.data.message);
return;
}
wsEndpoint = response.data.data.ws;
console.log('✅ 起動完了、ws アドレス:', wsEndpoint);
} catch (err) {
console.error('❌ ApiServer に接続できません。起動しているか確認してください。', err.message);
return;
}
// --- 手順 2: connectOverCDP でブラウザを制御 ---
const browser = await chromium.connectOverCDP(wsEndpoint);
console.log('🎉 Playwright での制御を開始しました!');
try {
const context = browser.contexts()[0];
const page = context.pages()[0] || await context.newPage();
await page.goto('https://www.mbbrowser.com', { waitUntil: 'domcontentloaded' });
console.log('📄 ページタイトル:', await page.title());
await page.waitForTimeout(3000); // 確認用の一時停止
console.log('✅ スクリプト実行完了!');
} finally {
await browser.close(); // 接続を解除
}
}
main().catch(console.error);2. Python 版
start_playwright.py を作成します:
python
import requests
from playwright.sync_api import sync_playwright
API_URL = "http://127.0.0.1:8186"
SESSION_ID = "あなたの環境IDに書き換えてください"
def get_ws_endpoint(session_id: str):
print("⏳ 環境を起動しています...")
try:
resp = requests.post(f"{API_URL}/api/v1/browser/start", json={"Session_ID": session_id})
data = resp.json()
if data.get("code") != 0: return None
return data["data"]["ws"]
except: return None
def main():
ws_endpoint = get_ws_endpoint(SESSION_ID)
if not ws_endpoint: return
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(ws_endpoint)
print("🎉 Playwright での制御を開始しました!")
context = browser.contexts[0]
page = context.pages[0] if context.pages else context.new_page()
page.goto("https://www.mbbrowser.com", wait_until="domcontentloaded")
print(f"📄 ページタイトル: {page.title()}")
page.wait_for_timeout(3000)
print("✅ スクリプト実行完了!")
browser.close()
if __name__ == "__main__":
main()3. Java 版
NOTE
Java 版は Mbbrowser クライアントの「自動化スクリプトマネージャー」での実行を推奨します。
java
// (Java コードの構造を維持しつつ、システムメッセージやコメントを日本語化)
import com.microsoft.playwright.*;
// ... 中略 ...
System.out.println("⏳ 環境を起動しています...");
// ... 中略 ...
System.out.println("🎉 Playwright での制御を開始しました!");核心的な違い:connectOverCDP vs launch
通常の Playwright の用法(launch)は、**「新しい空白のブラウザ」を起動します。 Mbbrowser での用法(connectOverCDP)は、「既存の指纹環境」**を乗っ取って制御します。 これにより、プロキシや Cookie、指紋情報が適用された状態で自動化が可能になります。
