連携Browser Use

ブラウザ操作

Browser Use は、スクリーンショットを使用してブラウザの状態を取得し、アクションでユーザー操作をシミュレートするブラウザ自動化SDKです。この章では、シンプルな呼び出しで browser-use を使用してWeb上でエージェントタスクを実行する方法を紹介します。

Scrapeless API キーを取得

ダッシュボードの設定タブに移動します:

次に、 SCRAPELESS_API_KEY 環境変数を .env ファイルにコピーして設定します。

環境変数 OPENAI_API_KEYも、 .env ファイル内で設定する必要があります。

OPENAI_API_KEY=your-openai-api-key
SCRAPELESS_API_KEY=your-scrapeless-api-key

💡サンプルのAPIキーを実際のAPIキーに置き換えることを忘れないでください。

ブラウザ操作をインストール

pipを使用(Python>=3.11):

pip install browser-use

メモリ機能を使用する場合(PyTorchの互換性により Python<3.13 が必要):

pip install "browser-use[memory]"

ブラウザとエージェントの設定を行う

以下のようにしてブラウザを設定し、自動化エージェントを作成できます:

from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from browser_use import Agent, Browser, ChatOpenAI
from pydantic import SecretStr
 
task = "Go to Google, search for 'Scrapeless', click on the first post and return to the title"
 
async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/api/v2/browser"
    query_params = {
        "token": os.environ.get("SCRAPELESS_API_KEY"),
        "sessionTTL": 900,
        "proxyCountry": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    browser = Browser(cdp_url=browser_ws_endpoint)
    return browser
 
async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # Or choose the model you want to use
        api_key=SecretStr(os.environ.get("OPENAI_API_KEY")),
    )
 
    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )

メイン関数を作成

以下がすべてを統合するメイン関数の例です:

async def main():
    load_dotenv()
    browser = await setup_browser()
    await browser.start()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.kill()
 
asyncio.run(main())

スクリプトを実行

スクリプトを実行します:

python run main.py

Scrapelessセッションが Scrapelessダッシュボードで開始されるのが確認できます。

完全なコード

from dotenv import load_dotenv
import os
import asyncio
from urllib.parse import urlencode
from browser_use import Agent, Browser, ChatOpenAI
from pydantic import SecretStr
 
task = "Go to Google, search for 'Scrapeless', click on the first post and return to the title"
 
async def setup_browser() -> Browser:
    scrapeless_base_url = "wss://browser.scrapeless.com/api/v2/browser"
    query_params = {
        "token": os.environ.get("SCRAPELESS_API_KEY"),
        "sessionTTL": 900,
        "proxyCountry": "ANY"
    }
    browser_ws_endpoint = f"{scrapeless_base_url}?{urlencode(query_params)}"
    browser = Browser(cdp_url=browser_ws_endpoint)
    return browser
 
async def setup_agent(browser: Browser) -> Agent:
    llm = ChatOpenAI(
        model="gpt-4o", # Or choose the model you want to use
        api_key=SecretStr(os.environ.get("OPENAI_API_KEY")),
    )
 
    return Agent(
        task=task,
        llm=llm,
        browser=browser,
    )
 
async def main():
    load_dotenv()
    browser = await setup_browser()
    await browser.start()
    agent = await setup_agent(browser)
    result = await agent.run()
    print(result)
    await browser.kill()
 
asyncio.run(main())

💡ブラウザ操作は現在、Pythonのみをサポートしています。

💡対象のURLを ライブセッション からコピーすると、セッションの進行状況をリアルタイムで確認できます。また、 セッション履歴では、セッションのリプレイを確認できます。