browser-use/agent-sdkでLLMブラウザ自動化エージェントを構築する:PythonとPlaywrightで実現するWebスクレイピング・操作の次世代フレームワーク

当ページのリンクには広告が含まれています。
🚀
AIスキルを武器にキャリアアップを目指すなら

お疲れ様です!IT業界で働くアライグマです!

「Webサイトからデータを自動で取得したい」「フォーム入力やボタンクリックを自動化したい」——こうしたニーズは、開発現場で日常的に発生します。

従来のSeleniumやPlaywrightでもブラウザ自動化は可能でしたが、ページ構造が変わるたびにセレクタを修正するという保守コストが課題でした。

そこで登場したのがbrowser-use/agent-sdkです。LLM(大規模言語モデル)の力を借りて、「このボタンをクリックして」「検索結果を取得して」といった自然言語での指示でブラウザを操作できるようになります。

この記事では、browser-use/agent-sdkの導入から実践的な活用方法まで、複数のスクレイピングプロジェクトで得られた知見を交えて解説します。

目次

browser-use/agent-sdkとは?

💡 AI・機械学習スキルを体系的に学ぶなら
Pythonを使ったAI開発の基礎から応用まで、実践的なカリキュラムで習得できます。

browser-use/agent-sdkは、LLMを活用してブラウザ操作を自動化するためのPythonフレームワークです。GitHub上で急速にスター数を伸ばしており、従来のブラウザ自動化ツールとは一線を画すアプローチで注目を集めています。

従来ツールとの違い

従来のSeleniumやPlaywrightでは、要素を特定するためにCSSセレクタやXPathを指定する必要がありました。


# 従来のPlaywrightでの実装例
page.click("button.submit-btn")
page.fill("input#search", "検索キーワード")

しかし、Webサイトのデザイン変更やリニューアルでセレクタが変わると、スクリプトが動かなくなるという問題がありました。

browser-use/agent-sdkでは、自然言語で操作を指示できます。


# browser-use/agent-sdkでの実装例
agent.execute("検索ボックスに'Python'と入力して検索ボタンをクリック")

LLMがページの構造を理解し、適切な要素を特定して操作するため、セレクタのメンテナンスから解放されます。

参考:GitHub Copilotを極める:エージェントモードとカスタム命令で開発生産性を最大化する実践ガイドをご覧ください。

IT女子 アラ美
LLMに指示するだけで動くって、精度は大丈夫なんですか?

ITアライグマ
最新のモデルを使えば、一般的なWebサイトなら90%以上の精度で操作できます。複雑なケースはフォールバック処理を組み合わせるのがコツですね。

環境構築とインストール

browser-use/agent-sdkの導入は非常にシンプルです。Python 3.9以上の環境があれば、すぐに始められます。

必要な環境

  • Python 3.9以上
  • pip(パッケージマネージャ)
  • OpenAI APIキーまたはAnthropic APIキー

インストール手順


# browser-use/agent-sdkのインストール
pip install browser-use-agent-sdk

# Playwrightブラウザのインストール
playwright install chromium

基本的なセットアップ


import os
from browser_use import Agent, Browser

# APIキーの設定
os.environ["OPENAI_API_KEY"] = "your-api-key"

# ブラウザとエージェントの初期化
browser = Browser()
agent = Agent(browser=browser, model="gpt-4o")

# エージェントの起動
async def main():
    await agent.run("Googleにアクセスして'Python チュートリアル'を検索")

import asyncio
asyncio.run(main())

参考:Pythonデータ処理によるAWSコスト削減術も合わせてご確認ください。

IT女子 アラ美
APIキーが必要ってことは、実行のたびにお金がかかるってことですよね?

ITアライグマ
はい、LLMのAPI呼び出しコストは発生します。ただ、複雑なセレクタ管理の人件費と比較すると、トータルコストで有利になるケースも多いですよ。

基本的な使い方(Webサイト操作・スクレイピング)

実際にbrowser-use/agent-sdkを使ってWebサイトを操作してみましょう。

データ取得の例


async def scrape_news():
    # ニュースサイトにアクセス
    await agent.run("Yahoo!ニュースにアクセス")

    # 見出しを取得
    headlines = await agent.run(
        "トップニュースの見出しを5件取得してJSON形式で返して"
    )

    return headlines

フォーム入力の例


async def fill_form():
    await agent.run("お問い合わせフォームにアクセス")
    await agent.run("名前欄に'山田太郎'と入力")
    await agent.run("メールアドレス欄に'test@example.com'と入力")
    await agent.run("送信ボタンをクリック")

ブラウザ自動化ツール比較(処理速度)

参考:仕様駆動開発入門:AIエージェントで設計8割・開発2割を実現する手法も参考になります。

IT女子 アラ美
自然言語で指示できるのは便利ですが、複雑な条件分岐はどうすればいいですか?

ITアライグマ
Pythonの制御構文と組み合わせられます。LLMへの指示と従来のロジックをハイブリッドで使うのがベストプラクティスですね。

【ケーススタディ】実務での活用例(データ収集自動化)

📚
AI自動化スキルでキャリアを差別化
browser-useのような最新AI技術を使いこなせるエンジニアは市場価値が高まっています。体系的に学んでスキルアップしませんか?

ここでは、実際にbrowser-use/agent-sdkを導入した事例を紹介します。

Aさん(30代・ECサイト運営企業勤務)の競合価格モニタリング導入事例
状況 (Before):ECサイトを運営する企業で、競合10社の価格を毎日チェックする業務がありました。従来はSeleniumスクリプトを使っていましたが、ECサイトのリニューアルのたびにセレクタ修正が必要で、月に2〜3回のメンテナンスが発生していました。担当者の工数は月20時間以上に達していました。
行動 (Action):browser-use/agent-sdkへの移行を決定しました。プロンプト設計として「商品名と価格を取得」という共通プロンプトを作成し、サイトごとのカスタマイズを最小化しました。フォールバック実装として、LLMの応答が不正な場合に備え、従来のセレクタ指定をバックアップとして残しました。AWS Lambdaでスケジュール実行し、結果をSlackに通知する仕組みを構築しました。
結果 (After):セレクタ修正の工数が月20時間から月2時間に削減されました(90%削減)。LLMのAPI費用は月額約5,000円でしたが、人件費削減効果の方が大きく、ROIは6ヶ月で回収できました。

参考:コーディングメインから上流工程へシフトしたいエンジニアのためのスキルアップ戦略も合わせてご覧ください。

IT女子 アラ美
ROI6ヶ月で回収って、導入の判断材料として説得力がありますね!

ITアライグマ
はい、メンテナンスコストの削減効果は大きいです。特にセレクタ管理に悩まされている現場では効果絶大ですよ。

注意点とベストプラクティス

browser-use/agent-sdkを本番運用する際の注意点をまとめます。

レート制限への対処

Webサイトへのアクセス頻度が高すぎると、IPブロックされるリスクがあります。


import asyncio

async def scrape_with_delay():
    for url in urls:
        await agent.run(f"{url}にアクセスしてデータを取得")
        await asyncio.sleep(3)  # 3秒間隔を空ける

エラーハンドリング

LLMの応答が期待通りでない場合に備え、リトライ処理を実装しましょう。


async def robust_scrape(max_retries=3):
    for attempt in range(max_retries):
        try:
            result = await agent.run("価格情報を取得")
            if validate_result(result):
                return result
        except Exception as e:
            print(f"リトライ {attempt + 1}/{max_retries}")
    return None

参考:LLMアプリケーションのセキュリティ対策入門も合わせてお読みください。

本記事で解説したようなAI技術を、基礎から体系的に身につけたい方は、以下のスクールも検討してみてください。

比較項目 DMM 生成AI CAMP Aidemy Premium
目的・ゴール ビジネス活用・効率化非エンジニア向け エンジニア転身・E資格Python/AI開発
難易度 初心者◎プロンプト作成中心 中級者〜コード記述あり
補助金・給付金 最大70%還元リスキリング補助金対象 最大70%還元教育訓練給付金対象
おすすめ度 S今の仕事に活かすなら AAIエンジニアになるなら
公式サイト 詳細を見る
IT女子 アラ美
AIスキルを身につけたいけど、どのスクールを選べばいいかわからないです…
ITアライグマ
現場で即・AIを活用したいならDMM 生成AI CAMPがおすすめです!プロンプト中心で初心者でも取り組みやすいですよ。

まとめ

この記事では、browser-use/agent-sdkを使ったLLMブラウザ自動化について解説しました。

  • browser-use/agent-sdkは、自然言語でブラウザ操作を指示できる次世代フレームワークです。
  • 従来のセレクタベースの自動化と比べ、メンテナンスコストを大幅に削減できます。
  • 本番運用では、レート制限対策エラーハンドリングが重要です。
  • AIスキルを持つエンジニアの市場価値は高まっており、キャリアの差別化にも有効です。

Webスクレイピングやブラウザ自動化の業務を担当している方は、ぜひbrowser-use/agent-sdkを試してみてください。

IT女子 アラ美
LLMを使った自動化、これからもっと広がりそうですね!

ITアライグマ
はい、今のうちにキャッチアップしておくと、市場価値の高いエンジニアになれますよ。まずは小さなプロジェクトから試してみてください!

厳しめIT女子 アラ美による解説ショート動画はこちら

この記事をシェアする
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

ITアライグマのアバター ITアライグマ ITエンジニア / PM

都内で働くPM兼Webエンジニア(既婚・子持ち)です。
AIで作業時間を削って実務をラクにしつつ、市場価値を高めて「高年収・自由な働き方」を手に入れるキャリア戦略を発信しています。

目次