お知らせ:

当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

ヘッドレス Chrome または Firefox への接続

情報: この機能は現在早期アクセスでのみ利用可能です。この機能をテストするには、Catalyst サポート(support@zohocatalyst.com)に要件をメールしてください。

Catalyst SmartBrowz は、Browser Grid を作成すると CDP/Webdriver エンドポイントを生成します。このエンドポイントは、SmartBrowz サービスによって生成される一意の API キーを使用してセキュアに保護されます。

グリッドをアクティブにするには、コード内でこのセキュアなエンドポイントを使用してリモートブラウザに接続する必要があります。 catalyst_smartbrowz_browsergrid_access_url

SmartBrowz コンソールでは、JavaNode.jsPython ファンクションスタックの必要なコードスニペットも提供しています。

必要なコードスニペットにアクセスするには:

  1. How to Connect? をクリックします。 catalyst_smartbrowz_browsergrid_connect_strt

  2. ヘッドレスブラウザに接続するために使用するコードスニペットを確認およびコピーできます。ドロップダウンを使用して、必要なランタイムを選択できます。 catalyst_smartbrowz_browsergrid_stack_sel_connect

  3. スニペットをコードファイルに貼り付けて実行し、ブラウザグリッドをトリガーしてヘッドレスブラウザに接続する必要があります。 catalyst_smartbrowz_browsergrid_active_label

接続すると、グリッドは Active としてマークされます。構成に基づいて、ノードはリクエストを処理するために必要な数のブラウザを起動します。

情報: 最新の統計情報を表示するには、更新ボタンをクリックしてください。

ヘッドレスブラウザに接続するためのコードスニペット

以下は、ブラウザグリッドをアクティブにしてヘッドレスブラウザに接続するためにコード内でコピーして使用する必要のあるコードスニペットです。

copy

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(); } }

copy

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(); } }

copy

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(); } })();

copy

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(); } })();

copy

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())

copy

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())

copy

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(); })();

copy

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())

copy

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(); } } }

copy

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(); })();

copy

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 関数を使用してコーディングしたロジックの結果についてはお客様ご自身の責任となります。

最終更新日 2026-02-23 18:09:41 +0530 IST