--- title: "ファンクション構造" url: https://docs.catalyst.zoho.com/ja/smartbrowz/help/browser-logic/function-structure/ description: "手動で行うブラウザタスクをコードで実行するCatalyst Serverlessファンクションをコーディングします。" last_updated: 2026-03-24T12:08:39Z service: SmartBrowz type: general --- # Browser Logicファンクション構造 Catalyst CLIから[Browser Logicファンクションを作成](https://docs.catalyst.zoho.com/ja/smartbrowz/help/browser-logic/implementation/)すると、以下に示すボイラープレートコード構造で作成されます。Catalystはまた、ファンクションとプロジェクトに必要な依存関係と設定ファイルも作成します。一般的な設定ファイルの詳細については、[プロジェクトディレクトリ構造](https://docs.catalyst.zoho.com/ja/cli/v1/project-directory-structure/introduction/)のヘルプページを参照してください。 ### Java > **注意:** 以下のボイラープレートコードは、JavaでSeleniumを使用してBrowser Logicファンクションを初期化したときにファンクションファイルに含まれます ```java import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.json.simple.JSONObject; import org.openqa.selenium.chrome.ChromeDriver; import com.catalyst.browserlogic.SeleniumHandler; public class BrowserlessExample implements SeleniumHandler { private static final Logger LOGGER = Logger.getLogger(SeleniumExample.class.getName()); JSONObject responseData = new JSONObject(); @Override @SuppressWarnings("unchecked") public void runner(HttpServletRequest request, HttpServletResponse response,ChromeDriver driver) throws Exception { try { //呼び出しが行われたエンドポイントとメソッドを取得する String url = request.getRequestURI(); String method = request.getMethod(); driver.get("https://www.example.com"); responseData.put("message", "Title of the page "+driver.getTitle()); //クライアントにレスポンスを返す response.setContentType("application/json"); response.getWriter().write(responseData.toString()); response.setStatus(200); } catch (Exception e) { //アクションがログに記録されます。Catalyst Logsからログを確認できます。 LOGGER.log(Level.SEVERE, "Exception in SeleniumExample", e); responseData.put("error", "Internal server error occurred. Please try again in some time."); response.getWriter().write(responseData.toString()); response.setStatus(500); } } } ``` ### NodeJS > **注意:** 以下のボイラープレートコードは、NodeJSでPuppeteerを使用してBrowser Logicファンクションを初期化したときにファンクションファイルに含まれます ```java module.exports.puppeteer = async (request, response, page) => { await page.goto('https://example.com/',{waitUntil: "domcontentloaded"}); const pageTitle = await page.title(); response.setHeader('Content-Type', 'application/json'); response.write(JSON.stringify({ output: pageTitle })); response.end(); }; ```