はじめに
Browser-Useは、言語モデル(LLM)がウェブサイトと自然に対話できるように特別に設計された、革新的なオープンソースのウェブ自動化ツールです。GPT-4、Claudeなど、主流の言語モデルを幅広くサポートする強力で柔軟なフレームワークを提供します。このツールの最大の特徴は、AI機能とブラウザの自動化をシームレスに統合していることで、視覚認識やHTML抽出、マルチタブページの自動管理、インテリジェントな要素検出などをサポートしています。Browser-Useは、単純なウェブ閲覧タスクを実行するだけでなく、フォームの自動入力、アプリケーションの送信、情報の検索などの複雑な対話シナリオも処理します。AIエージェントが人間のように自然にブラウザを使用できるように設計されており、ウェブ自動化の開発プロセスを大幅に簡素化します。このツールは、ウェブ自動化、データ収集、バッチ処理を必要とする開発者に特に適しています。
機能一覧
- HTMLコンテンツの視覚的認識とインテリジェントな抽出をサポート
- 自動マルチタブページ管理システム
- クリックした要素のXPathパスを抽出し、正確なLLM操作を再現します。
- カスタムアクションのサポート(ファイルの保存、データベースのプッシュ、通知の送信、手動入力の取得など)
- 自己修正能力
- LangChainがサポートするすべての言語モデルに対応
- 複数のAIエージェントの並列実行をサポート
- 設定可能なブラウザ・セキュリティ機能
- クッキー永続保存機能
- 柔軟なページ読み込み待ち時間の設定
ヘルプの使用
1.インストール構成
- まずpipでBrowser-Useパッケージをインストールする:
复制复制复制复制复制复制复制复制复制
复制
pip install browser-use
- (オプション)脚本家をインストールする:
复制复制复制复制复制复制复制复制
复制
playwright install
- 環境変数を設定する:
確立.env
ファイルを開き、必要なAPIキーを追加する:
复制复制复制复制复制复制复制
复制
OPENAI_API_KEY=你的OpenAI API密钥
ANTHROPIC_API_KEY=你的Anthropic API密钥
2.基本的な使い方
2.1 簡単なAIエージェントの作成
复制复制复制复制复制复制
复制
from langchain_openai import ChatOpenAI
from browser_use import Agent
import asyncio
async def main():
agent = Agent(
task="查找特定航班信息",
llm=ChatOpenAI(model="gpt-4"),
)
result = await agent.run()
print(result)
asyncio.run(main())
2.2 カスタムアクションの登録
カスタム・アクションはデコレーターを使って追加できる:
复制复制复制复制复制
复制
from browser_use.controller.service import Controller
controller = Controller()
@controller.action('询问用户信息')
def ask_human(question: str, display_question: bool) -> str:
return input(f'\n{question}\nInput: ')
2.3 Pydanticを用いたパラメトリックモデルの定義
复制复制复制复制
复制
from pydantic import BaseModel
from typing import Optional
class JobDetails(BaseModel):
title: str
company: str
job_link: str
salary: Optional[str] = None
@controller.action('保存职位详情', param_model=JobDetails, requires_browser=True)
async def save_job(params: JobDetails, browser: Browser):
print(params)
page = browser.get_current_page()
page.go_to(params.job_link)
3.高度な機能の使用
3.1 並列化エージェント
単一のブラウザインスタンスを使用し、各エージェントのコンテキストを並列化することを推奨します:
复制复制复制
复制
browser = Browser()
for i in range(10):
async with browser.new_context() as context:
agent = Agent(
task=f"任务 {i}",
llm=model,
browser_context=context
)
# 处理任务...
3.2 ブラウザの設定
ブラウザの動作は、BrowserConfigとBrowserContextConfigクラスで設定できます:
复制复制
复制
browser_config = BrowserConfig(
headless=False, # 是否使用无头模式
keep_open=True, # 脚本结束后保持浏览器开启
disable_security=True, # 禁用安全特性
cookies_file="cookies.json", # Cookie存储文件
minimum_wait_page_load_time=1.0, # 最小页面加载等待时间
wait_for_network_idle_page_load_time=2.0, # 网络空闲等待时间
maximum_wait_page_load_time=10.0 # 最大页面加载等待时间
)
4.パフォーマンス最適化の推奨
- 過剰な待ち時間を避けるために、適切なページ読み込み待ち時間を使用する。
- 並列化機能の合理的な使用による処理効率の向上
- 適切な場合はヘッドレスモードを有効にし、リソースの使用量を減らす。
- クッキーの永続化で重複認証を減らす
- 必要に応じて安全装備の構成を調整する
5.トラブルシューティング
- クロスドメインリクエストで問題が発生した場合は、以下の設定を有効にしてください。
disable_security
オプション - 調整可能な待ち時間パラメータによるページロードタイムアウト
- APIキーが正しく設定されていることを確認する。
- ネットワーク接続状況の確認
- ブラウザのコンソールログでエラーメッセージの詳細を確認する