--- title: "ヘッドレスブラウザへの接続" url: https://docs.catalyst.zoho.com/ja/smartbrowz/help/browser-grid/headless-connect/ description: "自動化ライブラリを使用して接続された複数のヘッドレスブラウザで大量のリクエストを処理し、ノードとブラウザの構成をより細かく制御します" last_updated: 2026-10-06T06:21:49Z service: SmartBrowz type: general related_links: - name: "Browser Grid の機能" url: /ja/smartbrowz/help/smartbrowz/browser-grid/features/ - name: "Browser Grid ワークフロー" url: /ja/smartbrowz/help/smartbrowz/browser-grid/workflow/ - name: "Browser Grid の作成" url: /ja/smartbrowz/help/smartbrowz/browser-grid/create-grid/ - name: "Browser Grid Java SDK" url: /ja/sdk/java/v1/smartbrowz/browser-grid/overview/ - name: "Browser Grid Node.js SDK" url: /ja/sdk/nodejs/v2/smartbrowz/browser-grid/overview/ - name: "Browser Grid Python SDK" url: /ja/sdk/python/v1/smartbrowz/browser-grid/overview/ - name: "Browser Grid REST API" url: /ja/api/code-reference/smartbrowz/browser-grid/list-all-grids/#ListallBrowserGrids --- # ヘッドレス Chrome または Firefox への接続 > 📢 **アナウンス:** Browser Gridはすべてのデータセンター(DC)でご利用いただけるようになりました。**2026年10月1日**まで無料でご利用いただけます。 Catalyst SmartBrowz は、Browser Grid を作成すると CDP/Webdriver エンドポイントを生成します。このエンドポイントは、SmartBrowz サービスによって生成される一意の API キーを使用してセキュアに保護されます。 グリッドをアクティブにするには、コード内でこのセキュアなエンドポイントを使用してリモートブラウザに接続する必要があります。 ![catalyst_smartbrowz_browsergrid_access_url](https://catalyst-docs-development.zohostratus.in/images/help/smartbrowz/browser-grid/catalyst_smartbrowz_browsergrid_access_url.webp) SmartBrowz コンソールでは、[Java](https://docs.catalyst.zoho.com/ja/sdk/java/v1/smartbrowz/browser-grid/overview/)、[Node.js](https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/smartbrowz/browser-grid/overview/)、[Python](https://docs.catalyst.zoho.com/ja/sdk/python/v1/smartbrowz/browser-grid/overview/) ファンクションスタックの必要なコードスニペットも提供しています。 必要なコードスニペットにアクセスするには: 1. **How to Connect?** をクリックします。 ![catalyst_smartbrowz_browsergrid_connect_strt](https://catalyst-docs-development.zohostratus.in/images/help/smartbrowz/browser-grid/catalyst_smartbrowz_browsergrid_connect_strt.webp) 2. ヘッドレスブラウザに接続するために使用するコードスニペットを確認およびコピーできます。ドロップダウンを使用して、必要なランタイムを選択できます。 ![catalyst_smartbrowz_browsergrid_stack_sel_connect](https://catalyst-docs-development.zohostratus.in/images/help/smartbrowz/browser-grid/catalyst_smartbrowz_browsergrid_stack_sel_connect.webp) 3. スニペットをコードファイルに貼り付けて実行し、ブラウザグリッドをトリガーしてヘッドレスブラウザに接続する必要があります。 ![catalyst_smartbrowz_browsergrid_active_label](https://catalyst-docs-development.zohostratus.in/images/help/smartbrowz/browser-grid/catalyst_smartbrowz_browsergrid_active_label.webp) 接続すると、グリッドは **Active** としてマークされます。構成に基づいて、ノードはリクエストを処理するために必要な数のブラウザを起動します。 > **情報:** 最新の統計情報を表示するには、**更新**ボタンをクリックしてください。 ### ヘッドレスブラウザに接続するためのコードスニペット 以下は、ブラウザグリッドをアクティブにしてヘッドレスブラウザに接続するためにコード内でコピーして使用する必要のあるコードスニペットです。 **Selenium** **Java** **ヘッドレス Chrome に接続** ```java import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.Capabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.openqa.selenium.chrome.ChromeOptions; public class RemoteChromeLoggingExample { public static void main(String[] args) throws MalformedURLException { ChromeOptions options = new ChromeOptions(); options.addArguments("--no-sandbox"); options.addArguments("--headless"); URL remoteUrl = new URL("YOUR_WEBDRIVER_ENDPOINT"); RemoteWebDriver driver = new RemoteWebDriver(remoteUrl, options); Capabilities caps = driver.getCapabilities(); String browserName = caps.getBrowserName(); String browserVersion = caps.getBrowserVersion(); System.out.println("Browser: " + browserName + " " + browserVersion); driver.get("https://example.com"); System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } } ``` **ヘッドレス Firefox に接続** ```java import java.net.MalformedURLException; import java.net.URL; import org.openqa.selenium.Capabilities; import org.openqa.selenium.firefox.FirefoxOptions; import org.openqa.selenium.remote.RemoteWebDriver; public class RemoteFirefoxLoggingExample { public static void main(String[] args) throws MalformedURLException { FirefoxOptions options = new FirefoxOptions(); options.addArguments("--headless"); options.addArguments("--no-sandbox"); options.addArguments("--disable-dev-shm-usage"); URL remoteUrl = new URL("YOUR_WEBDRIVER_ENDPOINT"); RemoteWebDriver driver = new RemoteWebDriver(remoteUrl, options); Capabilities caps = driver.getCapabilities(); String browserName = caps.getBrowserName(); String browserVersion = caps.getBrowserVersion(); System.out.println("Browser: " + browserName + " " + browserVersion); driver.get("https://example.com"); System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } } ``` **Node.js** **ヘッドレス Chrome に接続** ```js const { Builder } = require('selenium-webdriver'); const chrome = require('selenium-webdriver/chrome'); (async function test() { let options = new chrome.Options(); options.addArguments('--headless'); options.addArguments('--no-sandbox'); let driver = await new Builder() .forBrowser('chrome') .setChromeOptions(options) .usingServer('YOUR_WEBDRIVER_ENDPOINT') .build(); try { await driver.get('https://example.com'); console.log(await driver.getTitle()); } catch (err) { console.error(err); } finally { await driver.quit(); } })(); ``` **ヘッドレス Firefox に接続** ```js const { Builder, By } = require('selenium-webdriver'); const firefox = require('selenium-webdriver/firefox'); (async function RemoteFirefoxLoggingExample() { let options = new firefox.Options(); options.addArguments('--headless'); let driver = await new Builder() .forBrowser('firefox') .setFirefoxOptions(options) .usingServer('YOUR_WEBDRIVER_ENDPOINT') .build(); try { await driver.get('https://example.com'); console.log(await driver.getTitle()); } catch (err) { console.error(err); } finally { await driver.quit(); } })(); ``` **Python** **ヘッドレス Chrome に接続** ```python import asyncio from selenium import webdriver from selenium.webdriver.chrome.options import Options async def index(): options = Options() options.add_argument("--disable-extensions") options.add_argument("--no-sandbox") options.add_argument("--headless") options.add_argument("--disable-dev-shm-usage") driver = webdriver.Remote( command_executor="YOUR_WEBDRIVER_ENDPOINT", options=options ) driver.get("https://example.com") driver.save_screenshot("screenshot.png") driver.quit() async def my_async_function(): await index() if __name__ == "__main__": asyncio.run(my_async_function()) ``` **ヘッドレス Firefox に接続** ```python import asyncio from selenium import webdriver from selenium.webdriver.firefox.options import Options async def index(): options = Options() options.add_argument("--headless") capabilities = { "browserName": "firefox", "browserVersion": "latest", "platformName": "linux" } driver = webdriver.Remote( command_executor="YOUR_WEBDRIVER_ENDPOINT", desired_capabilities=capabilities, options=options ) driver.get("https://example.com") driver.save_screenshot("screenshot.png") driver.quit() async def my_async_function(): await index() if __name__ == "__main__": asyncio.run(my_async_function()) ``` **Puppeteer** **Node.js** **ヘッドレス Chrome に接続** ```js const puppeteer = require("puppeteer"); (async () => { const browser = await puppeteer.connect({ browserWSEndpoint: "YOUR_ENDPOINT" }); const page = await browser.newPage(); await page.goto("https://example.com"); await page.screenshot({ path: "remote-example.png" }); await browser.disconnect(); })(); ``` **Python** **ヘッドレス Chrome に接続** ```python import asyncio from pyppeteer import connect async def main(): browser = await connect({ 'browserWSEndpoint': 'YOUR_ENDPOINT' }) page = await browser.newPage() await page.goto("https://example.com") await page.screenshot({'path': 'screenshot.png'}) await browser.close() asyncio.run(main()) ``` **Playwright** **Java** **ヘッドレス Chrome に接続** ```java package com.example; import java.nio.file.Paths; import com.microsoft.playwright.*; public class Test { public static void main(String[] args) { try (Playwright playwright = Playwright.create()) { BrowserType browserType = playwright.chromium(); Browser browser = browserType.connectOverCDP("YOUR_ENDPOINT"); Page page = browser.newPage(); page.navigate("https://example.com"); System.out.println("Title: " + page.title()); page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("screenshot.png"))); String html = page.content(); System.out.println("Page HTML: " + html.substring(0, Math.min(html.length(), 200)) + "..."); browser.close(); } } } ``` **Node.js** **ヘッドレス Chrome に接続** ```js const { chromium } = require("playwright"); (async () => { const browser = await chromium.connectOverCDP("YOUR_ENDPOINT"); const context = browser.contexts().length ? browser.contexts()[0] : await browser.newContext(); const page = await context.newPage(); await page.goto("https://example.com"); console.log(await page.title()); await browser.close(); })(); ``` **Python** **ヘッドレス Chrome に接続** ```python import asyncio from playwright.async_api import async_playwright async def run(playwright): browser = await playwright.chromium.connect_over_cdp("YOUR_ENDPOINT") context = await browser.new_context() page = await context.new_page() await page.goto("https://example.com") await page.screenshot(path="screenshot.png") print(await page.title()) await browser.close() async def main(): async with async_playwright() as playwright: await run(playwright) asyncio.run(main()) ``` > **注意:** Browser Logic 関数を使用してコーディングするブラウザアクションや操作、または Catalyst SmartBrowz のいずれかのコンポーネントを使用して実行するブラウザ自動化や Web スクレイピングタスクは、すべて自己責任で行ってください。SmartBrowz コンポーネントは、そのようなアクションを許可するドメインで、または適切な承認を得て操作を実行するために使用することを強くお勧めします。また、Catalyst はセキュアなインフラストラクチャを提供しますが、Catalyst 関数を使用してコーディングしたロジックの結果についてはお客様ご自身の責任となります。