---
slug: "how-to-get-session-cookie-of-browser-use-its-httponly"
title: "browser-use でログインしたサービスの、httponly=true のセッションクッキーを取得する"
description: "Selenium で Firefox を扱うとき、起動引数の `--headless` や `-profile` の扱いで pitfall になるポイント。`selenium.webdriver.FirefoxOptions` の使い方。"
url: "https://www.ytyng.com/blog/how-to-get-session-cookie-of-browser-use-its-httponly"
publish_date: "2025-05-21T03:10:36.553Z"
created: "2025-05-21T03:10:36.553Z"
updated: "2026-05-11T13:21:39.658Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20250521/5af8cc37ff9d4dfc82599fb19d21a7a5.png.webp?width=768"
has_video: true
has_music: true
video_urls: ["https://media.ytyng.net/ytyng-blog/322/featured-video-1.mp4", "https://media.ytyng.net/ytyng-blog/322/featured-video-2.mp4", "https://media.ytyng.net/ytyng-blog/322/featured-video-3.mp4"]
music_urls: ["https://media.ytyng.net/ytyng-blog/322/featured-music-322-2.mp3?v=3", "https://media.ytyng.net/ytyng-blog/322/featured-music-322-4.mp3"]
lang: "ja"
---

# browser-use でログインしたサービスの、httponly=true のセッションクッキーを取得する

browser-use を使って Web サービスにログインした際に発行されるセッションクッキーを取得する方法です。

セッションクッキーは、通常　httponly=true で発行されるため、browser-use に 「セッションクッキーを取得して」と依頼しても返されません。

Javascript ではアクセスできないためです。

取得したい場合、browser_use.Browser インスタンス をあらかじめ作っておき、browser-use の Agent に注入することにより、
処理中に Playwright のブラウザインスタンスを扱うことができるようになります。

セッションクッキーに限らず、ブラウザ内部の細かいリソースを取り扱う場合に有効だと思います。


```python
from browser_use import Agent, Browser
from langchain_openai import ChatOpenAI


DEFAULT_LLM_MODEL = "gpt-4.1-mini"


def get_sessoin_cookies():

    browser = Browser()
    current_cookies = []
    
    async def handle_step(browser_state, agent_output, step_number):
        nonlocal browser, current_cookies
        try:
            # Playwright のインスタンスを扱う
            context = browser.playwright_browser.contexts[0]
            current_cookies = list(await context.cookies())
        except Exception as e:
            print(
                'An error occurred while getting cookies: '
                f'{e.__class__.__name__}: {e}'
            )

    _login_prompt = '自社のウェブサービス ◯◯ にログインしてください。\n\n...'

    async def run_agent():
        agent = Agent(
            task=_login_prompt,
            browser=browser,
            llm=ChatOpenAI(model=DEFAULT_LLM_MODEL),
            register_new_step_callback=handle_step,
        )
        await agent.run(max_steps=5)

    asyncio.run(run_agent())

    # ログイン完了。ここでクッキーが取得できている
    print(current_cookies)
```
