--- title: "Python" url: https://docs.catalyst.zoho.com/ja/smartbrowz/help/headless/implementation/function-stack/python/ description: "お好みの自動化ライブラリを使用して、Catalyst クラウド環境のリモートブラウザにヘッドレスモードで接続します。" last_updated: 2026-03-30T08:10:30Z service: SmartBrowz type: general --- # Python ファンクションスタックで Headless に接続 このセクションでは、お好みのブラウザ自動化ライブラリを使用して、Python ファンクションスタックでヘッドレスに接続するために必要なスクリプトを紹介します: ### Puppeteer #### SmartBrowz なしで Puppeteer を使用する場合 ```python import asyncio from puppeteer import launch async def main(): browser = await launch() page = await browser.newPage() await page.goto('http://example.com') await page.screenshot({'path': 'example.png'}) await browser.close() asyncio.get_event_loop().run_until_complete(main()) ``` #### SmartBrowz で Puppeteer を使用する場合 ```python import asyncio import pyppeteer async def main(): # puppeteer.launchをpyppeteer.launcher.connectに置き換える browser = await pyppeteer.launcher.connect( browserWSEndpoint='YOUR_CDP_ENDPOINT' ) # 残りのコードはそのままです page = await browser.newPage() await page.goto("https://example.com") await page.screenshot(path="screenshot.png") await browser.close() asyncio.get_event_loop().run_until_complete(main()) ``` > **注意:** コンソールから CDP エンドポイントをコピーし、このコードを実装する際に「**6**」行目に貼り付けてください。 ### Playwright #### SmartBrowz なしで Playwright を使用する場合 ```python from playwright.sync_api import sync_playwright def run(playwright): chrome = playwright.chrome browser = chrome.launch() page = browser.new_page() page.goto("https://example.com") browser.close() with sync_playwright() as playwright: run(playwright) ``` #### SmartBrowz で Playwright を使用する場合 ```python import asyncio from playwright.async_api import async_playwright async def run(playwright): # playwright.chromium.launchをconnect_over_cdpに置き換える browser = playwright.chromium.connect_over_cdp("YOUR_CDP_ENDPOINT") # 残りのコードはそのままです context = await browser.new_context() page = await context.new_page() await page.goto("https://example.com") await page.screenshot(path="screenshot.png") await browser.close() async def main(): async with async_playwright() as playwright: await run(playwright) asyncio.run(main()) ``` > **注意:** コンソールから CDP エンドポイントをコピーし、このコードを実装する際に「**5**」行目に貼り付けてください。 ### Selenium #### SmartBrowz なしで Selenium を使用する場合 ```python from selenium import webdriver from PIL import Image driver = webdriver.Chrome(executable_path = "path\\to\\chromedriver.exe") url = "https://example.com/" driver.get(url) driver.save_screenshot('ss.png') screenshot = Image.open('ss.png') driver.close() ``` #### SmartBrowz で Selenium を使用する場合 ```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') # webdriver.Chromeをwebdriver.Remoteに変更する driver = webdriver.Remote( command_executor='YOUR_WEBDRIVER_ENDPOINT', options=options ) #残りのコードはそのままです driver.get("https://example.com") driver.save_screenshot("screenshot.png") driver.close() async def my_async_function(): await index() # my_async_functionを呼び出す asyncio.run(my_async_function()) ``` > **注意:** コンソールから Webdriver エンドポイントをコピーし、このコードを実装する際に「**13**」行目に貼り付けてください。