AIによるブラウザ操作:Pythonライブラリ「browser-use」

AIによるブラウザ操作:Pythonライブラリ「browser-use」 AI

AIエージェントによるブラウザ操作を実現する「browser-use」が、注目を集めています。
そして、本記事では、browser-useの基本的な使い方から実際の動作検証までを解説します。

動作環境

browser-useを利用するには、Python 3.11以降の環境が必要です。
これは、browser-useが最新のPython機能を活用して設計されているためです。

そのため、動作環境を整える際は、まずPythonのバージョンを確認してください。

browser-useの特徴

browser-useは、AIエージェントがブラウザを操作するためのPythonフレームワークです。
そして、Vision + HTML抽出、マルチタブの自動管理など、強力な機能を備えています。

また、クリックした要素のXPathを抽出して再現できるため、正確な操作の再現が可能です。

インストール手順

browser-useのインストールは、pipコマンドで簡単に行えます。

pip install browser-use

次に、playwrightのインストールも必要です。

playwright install

環境設定

browser-useを使用するには、.envファイルでAPIキーを設定する必要があります。
プロジェクトのルートディレクトリに.envファイルを作成し、以下の内容を記述してください。

OPENAI_API_KEY=あなたのOpenAI APIキー
ANTHROPIC_API_KEY=あなたのAnthropic APIキー

基本的な使い方

browser-useを使用したプログラムは、以下のような構造になります。

from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio

async def main():
    agent = Agent(
        task="実行したいタスクの内容",
        llm=ChatOpenAI(model="gpt-4o-mini"),
    )
    result = await agent.run()
    print(result)

asyncio.run(main())

動作検証

実際の動作を2つのケースで検証しました。

ケース1:Webサイトのタイトル取得

まず、example.comのタイトルを取得する簡単なタスクを試しました。
タスクの内容は以下の通りです。

task="https://example.com/にアクセスして、「title」を取得してください。"

実行ログを見てみましょう。

INFO     [agent] 🚀 Starting task: https://example.com/にアクセスして、「title」を取得してください。
INFO     [agent] 
📍 Step 1
INFO     [agent] 🤷 Eval: Unknown
INFO     [agent] 🧠 Memory: Current URL is about:blank. Need to navigate to https://example.com/ and extract the title.
[...]
INFO     [agent] 📄 Result: The title of the page is 'Example Domain'.
INFO     [agent] ✅ Task completed successfully

エージェントは「Example Domain」というタイトルの取得に成功しました。

ケース2:ログインと情報取得

次に、より複雑なタスクとして、デモサイトへのログインと情報取得を試みました。
タスクの内容は次の通りです。

task="""
 https://demo.leafworks.jp/package/loginplus/でログインする。
認証情報は以下。
ID:admin,PASS:leafworks
そして、ログイン後、ステータスの情報を取得する。
"""

対象のデモページは、IDやパスワードが公開されています。
ログイン後、以下の内容を確認できます。

実行ログの抜粋。

INFO     [agent] 🚀 Starting task: 
INFO     [agent] 
📍 Step 1
INFO     [agent] 🧠 Memory: Need to log in to the specified URL and retrieve status information after logging in.
[...]
INFO     [agent] 📄 Result: Logged in successfully and retrieved the following status information:
- Registered members: 6
- Inquiries: 1
- Notifications: 5
- Contents: 13

エージェントは次の順序で処理を実行しました。

  • ログインページにアクセス
  • 認証情報を入力
  • ログインを実行
  • ステータス情報を抽出

そして、全ての処理を正確に完了しました。

まとめ

browser-useは、AIエージェントによるブラウザ操作を簡単に実現できるフレームワークです。
そして、基本的なWebサイトの閲覧から、ログインを必要とする複雑な操作まで、幅広いタスクをこなすことができます。

今回の検証を通じて、browser-useの高い信頼性と使いやすさを確認できました。
これは、ブラウザ操作の自動化を検討している方々にとって、有望なツールとなるでしょう。

タイトルとURLをコピーしました