---
slug: "browser-use-selenium-remote-grid"
title: "[古い] browser_use で、 Selenium Remote ( Selenium Grid ) を使う"
description: "browser_use で、Selenium Remote Grid をヘッドフルに使うサンプルコードです。サンプルコードでは、ブラウザウインドウのビューポートサイズの指定も行っています。"
url: "https://www.ytyng.com/blog/browser-use-selenium-remote-grid"
publish_date: "2025-05-27T08:55:41Z"
created: "2025-05-27T08:55:41.337Z"
updated: "2026-02-27T10:00:39.410Z"
categories: ["Python"]
keywords: ""
featured_image_url: "https://media.ytyng.com/resize/20250611/1986ba72dbc44545b77d4195c77f4d23.png.webp?width=768"
has_video: true
has_music: true
video_urls: ["https://media.ytyng.net/ytyng-blog/323/featured-video-1.mp4", "https://media.ytyng.net/ytyng-blog/323/featured-video-2.mp4", "https://media.ytyng.net/ytyng-blog/323/featured-video-3.mp4"]
music_urls: ["https://media.ytyng.net/ytyng-blog/323/featured-music-323-1.mp3", "https://media.ytyng.net/ytyng-blog/323/featured-music-323-2.mp3"]
lang: "ja"
---

# [古い] browser_use で、 Selenium Remote ( Selenium Grid ) を使う

注意: この記事は古いです。

この方法は browser-use 0.2 以降は使えなくなっています。 それ以降の browser-use を使っている場合、 Chrome の debbugging port 経由でリモートデバッグを行う必要があります。

---

browser_use は、中で Playwright を使っている。

Playwright は Selenium Remote ( Selenium Grid ) が使えるため、環境変数

`SELENIUM_REMOTE_URL` に、Selenium Remote の URL ( http://selenium-grid.example.com:4444 みたいなURL) を指定すれば、それだけでリモートブラウザが使える。

しかし、デフォルトだとヘッドレスモードで動いたり、コンテキストを指定できなかったりでカスタマイズができない。

カスタマイズした Playwright を作って、Agent に注入すれば、思い通りの Playwright を使うことができる。

# サンプルコード
```python

from langchain_openai import ChatOpenAI
from browser_use import Agent, Browser
from playwright.async_api import async_playwright
import asyncio
import os


os.environ['SELENIUM_REMOTE_URL'] = 'http://selenium-grid.example.com:4444'


prompt = f'''
* https://www.example.com を開いてください。
* ログインボタンを...
* Email に ...
'''

sync def main():
    async with async_playwright() as p:
        # Playwright の browse を作ってカスタムする
        playwright_browser = await p.chromium.launch(
            headless=False,  # ヘッドレスモードを無効化
        )
        browser_context = await playwright_browser.new_context(
            viewport={'width': 670, 'height': 377},  # ビューポートサイズを設定
            locale='ja-JP',  # 言語設定
            ignore_https_errors=True,  # 証明書エラーを無視
        )
        # browser_use の Browser を作って、Playwright のブラウザを注入する
        browser = Browser()
        browser.playwright_browser = playwright_browser
        browser.playwright = p
        
        # Agent に、browser_use の Browser を注入する
        agent = Agent(
            task=prompt,
            llm=ChatOpenAI(model="gpt-4.1-mini"),
            browser=browser,
            browser_context=browser_context,
        )
        result = await agent.run(max_steps=5)
        print(result)


if __name__ == "__main__":
    asyncio.run(main())
```
