ヘッドレス Chrome または Firefox への接続
Catalyst SmartBrowz は、Browser Grid を作成すると CDP/Webdriver エンドポイントを生成します。このエンドポイントは、SmartBrowz サービスによって生成される一意の API キーを使用してセキュアに保護されます。
グリッドをアクティブにするには、コード内でこのセキュアなエンドポイントを使用してリモートブラウザに接続する必要があります。

SmartBrowz コンソールでは、Java、Node.js、Python ファンクションスタックの必要なコードスニペットも提供しています。
必要なコードスニペットにアクセスするには:
-
ヘッドレスブラウザに接続するために使用するコードスニペットを確認およびコピーできます。ドロップダウンを使用して、必要なランタイムを選択できます。

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

接続すると、グリッドは Active としてマークされます。構成に基づいて、ノードはリクエストを処理するために必要な数のブラウザを起動します。
ヘッドレスブラウザに接続するためのコードスニペット
以下は、ブラウザグリッドをアクティブにしてヘッドレスブラウザに接続するためにコード内でコピーして使用する必要のあるコードスニペットです。
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();
}
}
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();
}
}
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();
}
})();
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();
}
})();
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())
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())
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();
})();
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())
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();
}
}
}
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();
})();
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())
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us
