--- title: "NodeJS" url: https://docs.catalyst.zoho.com/ja/smartbrowz/help/headless/implementation/function-stack/nodejs/ description: "お好みの自動化ライブラリを使用して、Catalyst クラウド環境のリモートブラウザにヘッドレスモードで接続します。" last_updated: 2026-03-30T08:10:30Z service: SmartBrowz type: general --- # NodeJS ファンクションスタックで Headless に接続 このセクションでは、お好みのブラウザ自動化ライブラリを使用して、NodeJS ファンクションスタックでヘッドレスに接続するために必要なスクリプトを紹介します: ### Puppeteer #### SmartBrowz なしで Puppeteer を使用する場合 ```javascript import puppeteer from 'puppeteer'; (async () => { const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto('http://example.com/'); await page.screenshot({'path':'example.png'}) await browser.close(); })(); ``` #### SmartBrowz で Puppeteer を使用する場合 ```javascript // Nodeアプリケーション内から const puppeteer = require("puppeteer-core"); // puppeteer.launchをpuppeteer.connectに置き換える const browser = await puppeteer.connect({ browserWSEndpoint: 'YOUR_CDP_ENDPOINT' }); // スクリプトの残りの部分は同じです const page = await browser.newPage(); await page.goto('https://example.com/'); await page.screenshot({ path: 'screenshot.png' }); page.close(); ``` > **注意:** コンソールから CDP エンドポイントをコピーし、このコードを実装する際に「**6**」行目に貼り付けてください。 ### Playwright #### SmartBrowz なしで Playwright を使用する場合 ```javascript import { test } from '@playwright/test'; test('Page Screenshot', async ({ page }) => { await page.goto('http://example.com/'); await page.screenshot({ path: `example.png` }); }); ``` #### SmartBrowz で Playwright を使用する場合 ```javascript // Nodeアプリケーション内から const pw = require('playwright-core'); // pw.chromium.launchをconnectOverCDPに置き換える const browser = await pw.chromium.connectOverCDP({ wsEndpoint: 'YOUR_CDP_ENDPOINT' }); // スクリプトの残りの部分は同じです const page = await browser.newPage(); await page.goto('https://www.example.com/'); await page.screenshot({ path: 'example.png' }); await browser.close(); ``` > **注意:** コンソールから CDP エンドポイントをコピーし、このコードを実装する際に「**5**」行目に貼り付けてください。 ### Selenium #### SmartBrowz なしで Selenium を使用する場合 ```javascript require("chromedriver"); require("selenium-webdriver") let webdriver = require("selenium-webdriver"); var By = require("selenium-webdriver").By; let browser = new webdriver.Builder(); let driver = browser.forBrowser("chrome").build(); driver.get('https://example.com/'); driver.takeScreenshot().then( function(image) { require('fs').writeFileSync('captured_image_3.png', image, 'base64'); } ); driver.quit(); ``` #### SmartBrowz で Selenium を使用する場合 ```javascript // Nodeアプリケーション内から const webdriver = require('selenium-webdriver'), chrome = require('selenium-webdriver/chrome'); const chromeCapabilities = webdriver.Capabilities.chrome(); var options = new chrome.Options(); options.addArguments("--no-sandbox"); options.addArguments('--headless') options.addArguments('--disable-dev-shm-usage') const driver = new webdriver.Builder() .forBrowser('chrome') .setChromeOptions(options) .withCapabilities(chromeCapabilities) .usingServer('YOUR_WEBDRIVER_ENDPOINT') .build(); // スクリプトの残りの部分は同じです await driver.get('https://www.example.com/'); const base64png = await driver.takeScreenshot(); fs.writeFileSync('/tmp/screenshot.png',new Buffer(base64png, 'base64')); driver.quit(); ``` > **注意:** コンソールから Webdriver エンドポイントをコピーし、このコードを実装する際に「**13**」行目に貼り付けてください。