1 | pip install browser-use |
1 | pip install --upgrade pip |
の後に
1 2 | pip install playwright playwright install |
とりあえずインストール完了したので
Ollamaで動かしたい
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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()) |
のコードを書き換える
【Ollama】ローカル環境でLLMを選んでLangChainで実行する。
を参考に書き換える
LangChainでOllamaを使用する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from langchain_core.prompts import ChatPromptTemplate from langchain_ollama.llms import OllamaLLM def main(): # MODEL model = OllamaLLM(model= "hf.co/elyza/Llama-3-ELYZA-JP-8B-GGUF" ) # PROMPT template = "" "Question: {question} Answer: ステップバイステップで考えてみましょう。 "" " prompt = ChatPromptTemplate.from_template(template) # CHAIN chain = prompt | model result = chain.invoke({ "question" : "美味しいパスタの作り方は?" }) print(result) if __name__ == "__main__" : main() |
を
1 2 3 4 5 6 7 8 9 10 11 12 13 | from langchain_ollama import ChatOllama from browser_use import Agent import asyncio async def main(): agent = Agent( task= "東京都のおすすめの焼肉屋を調べてください。" , llm=ChatOllama(model= "elyza:jp8b" ), # Ollama の日本語モデルを指定 ) result = await agent.run() print(result) asyncio.run(main()) |
にして保存
しかし実行すると
1 | Traceback (most recent call last): File "/Users/snowpool/aw10s/browse/test.py" , line 1, in <module> from langchain_ollama import ChatOllama ModuleNotFoundError: No module named 'langchain_ollama' |
となるので
1 | pip install langchain-ollama |
今度は
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | INFO [browser_use] BrowserUse logging setup complete with level info Traceback (most recent call last): File "/Users/snowpool/aw10s/browse/test.py" , line 2, in <module> from browser_use import Agent File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/browser_use/__init__.py" , line 6, in <module> from browser_use.agent.service import Agent as Agent File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/browser_use/agent/service.py" , line 41, in <module> from browser_use.controller.service import Controller File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/browser_use/controller/service.py" , line 5, in <module> from main_content_extractor import MainContentExtractor File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/main_content_extractor/__init__.py" , line 1, in <module> from main_content_extractor.main_content_extractor import * File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/main_content_extractor/main_content_extractor.py" , line 4, in <module> from .trafilatura_extends import TrafilaturaExtends File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/main_content_extractor/trafilatura_extends.py" , line 3, in <module> import trafilatura File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/trafilatura/__init__.py" , line 16, in <module> from .core import bare_extraction, extract File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/trafilatura/core.py" , line 18, in <module> from .external import compare_extraction File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/trafilatura/external.py" , line 11, in <module> from justext.core import ParagraphMaker, classify_paragraphs, revise_paragraph_classification # type: ignore ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/justext/__init__.py" , line 12, in <module> from .core import justext File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/justext/core.py" , line 21, in <module> from lxml.html.clean import Cleaner File "/Users/snowpool/.pyenv/versions/3.11.0/lib/python3.11/site-packages/lxml/html/clean.py" , line 18, in <module> raise ImportError( ImportError: lxml.html.clean module is now a separate project lxml_html_clean. Install lxml[html_clean] or lxml_html_clean directly. |
となる
1 | pip install lxml_html_clean |
これで再度実行したけど
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | INFO [browser_use] BrowserUse logging setup complete with level info INFO [root] Anonymized telemetry enabled. See https: //github .com /browser-use/browser-use for more information. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f680.svg" > Starting task: 東京都のおすすめの焼肉屋を調べてください。 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 1 ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 1 /3 times : elyza:jp8b does not support tools INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 1 ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 2 /3 times : elyza:jp8b does not support tools INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 1 ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 3 /3 times : elyza:jp8b does not support tools ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Stopping due to 3 consecutive failures INFO [agent] Created GIF at agent_history.gif AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content=None, error= 'elyza:jp8b does not support tools' , include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'elyza:jp8b does not support tools' , include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'elyza:jp8b does not support tools' , include_in_memory=True)], all_model_outputs=[]) |
となって
ブラウザが立ち上がり検索開始するが中断される
他のモデルを試すため調べたが
Browser-useでollamaを使ってローカルLLMを使用する
によれば
2025/1/12現在、browser-use web-uiでは、LLM Providerにollamaを選択した場合、
Model名には、「qwen2.5:7b」と「llama2:7b」が選択可能
しかし
Googleへアクセスし、”OpenAI”で検索した最初のURLを取得
の英文プロンプトgo to google.com and type ‘OpenAI’ click search and give me the first url
で実行しても
いずれも、OpenAIのgpt-4oを使う場合と比べると、時間はかかりました。 今回の場合、約10分〜20分程度かかりました。
* llama2:7b だと、Step5まで進みましたが、失敗しました。
* qwen2.5:7b だと、Step4まで進みましたが、失敗しました。
*
LLM ConfigurationタブのLLM Providerを「ollama」を選択、Model Nameを「gemma:2b」と入力しました。
動作は1つのStepごとに30秒から1分程度になりましたが、タスクを解くのは失敗しました
とあるため
まだ ollama では使え無さそう
browser-use で Gemini と DeepSeek を使用する
によれば
無料枠のある Gemini を使用したいところですが、現在 Issue に上がっているように Gemini は使用できません。
本家ではありませんが、つい最近 Gemini と DeepSeek を利用できるように改良したリポジトリを見つけたため紹介します。
とあるので
Geminiを使うことにする
なお、この記事はweb ui っぽいが
browser-useをGeminiで動かすまで(langchain-google-genai 2.0.8がPyPIにリリースされるまでは暫定的にリポジトリからインストール)
によれば
記事執筆時点(2025/01/05時点)では、
langchain-google-genaiをリポジトリからインストールすれば
browser-useをGeminiで動かせます。
これはlangchain-google-genaiの2.0.8以降がリリースされるまでのworkaroundとなります。
とのこと
これを参考に
geminiでbrowser-useを使うことにする
browser-useをGeminiで動かすまで(langchain-google-genai 2.0.8がPyPIにリリースされるまでは暫定的にリポジトリからインストール)
を参考に
1 | pip install browser-use "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai" |
を実行
Githubのsshキーのパスフレーズを求められるので入力する
これはgithubにリポジトリ公開の時と同じものでOK
問題は
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | # /// script # requires-python = ">=3.11,<3.12" # dependencies = [ # "browser-use", # "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai", # ] # /// from langchain_google_genai import ChatGoogleGenerativeAI from browser_use import Agent import asyncio async def main(): agent = Agent( task= "Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option." , llm=ChatGoogleGenerativeAI(model= "gemini-2.0-flash-exp" ), ) result = await agent.run() print(result) asyncio.run(main()) |
で
* 環境変数GOOGLE_API_KEY
https://console.cloud.google.com/apis/credentials で作ったようでした
とあるけど
Google cloud ではなく
Google AI Studio で Gemini API キーを取得する
という方法にしている
ということで
Google AI Studioでキーを取得した事例を探す
ちょっと古いけど
LangChainでGeminiを触ってみる
で
Google AI StudioからGOOGLE_API_KEYを取得し
1 2 | import os os.environ[ 'GOOGLE_API_KEY' ] = '<GOOGLE_API_KEY>' |
で指定しているのでこれで行けそう
コード部分で
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from langchain_google_genai import ChatGoogleGenerativeAI llm = ChatGoogleGenerativeAI(model= 'gemini-pro' ) result = llm.invoke( '日本一高い山はなんですか?' ) print(result.content) # 富士山 result = llm.invoke( 'Gemini PROの最大入力文字数と最大出力文字数を教えてください。' ) print(result.content) # Gemini PROは、最大入力文字数はなく、最大出力文字数は1024文字です。 result = llm.invoke( 'あなたについて教えてください。' ) print(result.content) # 私は大きな言語モデルであり、Googleによってトレーニングされました。私は膨大な量のテキストデータで訓練されており、人間のようなテキストを生成し、質問に答え、言語を翻訳することができます。私はまた、コードを記述したり、ストーリーを書いたり、詩を書いたりすることもできます。私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。 # 私は、機械学習と自然言語処理の分野における最近の進歩の産物です。私は、何十億もの単語で訓練されており、人間の言語を理解し、生成することができます。私はまた、複雑な質問に答えたり、テキストを翻訳したり、要約したりすることもできます。 # 私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。 # 私は、今後さらに多くの方法で人々を助けるために使用されることを楽しみにしています。私は、教育、医療、ビジネスなど、さまざまな分野で大きな影響を与えることができると信じています。 result = llm.invoke( 'いつまでの情報を知っていますか?' ) print(result.content) # 私の知識は、2021年4月までの情報までに限定されています。それ以降の情報を提供することはできません。最新の情報については、信頼できるニュースソースや政府機関のウェブサイトをご確認ください。 |
となっているので
まずはこれを試す
1 | vim test .py |
でファイルを作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import os os.environ[ 'GOOGLE_API_KEY' ] = '' from langchain_google_genai import ChatGoogleGenerativeAI llm = ChatGoogleGenerativeAI(model= 'gemini-pro' ) result = llm.invoke( '日本一高い山はなんですか?' ) print(result.content) # 富士山 result = llm.invoke( 'Gemini PROの最大入力文字数と最大出力文字数を教えてください。' ) print(result.content) # Gemini PROは、最大入力文字数はなく、最大出力文字数は1024文字です。 result = llm.invoke( 'あなたについて教えてください。' ) print(result.content) # 私は大きな言語モデルであり、Googleによってトレーニングされました。私は膨大な量のテキストデータで訓練されており、人間のようなテキストを生成し、質問に答え、言語を翻訳することができます。私はまた、コードを記述したり、ストーリーを書いたり、詩を書いたりすることもできます。私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。 # 私は、機械学習と自然言語処理の分野における最近の進歩の産物です。私は、何十億もの単語で訓練されており、人間の言語を理解し、生成することができます。私はまた、複雑な質問に答えたり、テキストを翻訳したり、要約したりすることもできます。 # 私はまだ開発中ですが、私はすでに多くの方法で人々を助けるために使用されています。例えば、私はカスタマーサービスのチャットボットとして、オンラインアシスタントとして、さらには医療診断ツールの開発に使用されています。 # 私は、今後さらに多くの方法で人々を助けるために使用されることを楽しみにしています。私は、教育、医療、ビジネスなど、さまざまな分野で大きな影響を与えることができると信じています。 result = llm.invoke( 'いつまでの情報を知っていますか?' ) print(result.content) # 私の知識は、2021年4月までの情報までに限定されています。それ以降の情報を提供することはできません。最新の情報については、信頼できるニュースソースや政府機関のウェブサイトをご確認ください。 |
これで
1 | python test .py |
を実行すると
1 2 3 4 5 6 | 富士山 **最大入力文字数:** 2048 文字 **最大出力文字数:** 1024 文字 私はGemini、Googleによって開発された多言語の大規模言語モデルです。私は、テキスト生成、翻訳、質問応答、対話型対話など、さまざまな自然言語処理タスクを実行するようにトレーニングされています。 私はGoogleによってトレーニングされており、2023年4月までの情報を認識しています。ただし、インターネット接続があれば、リアルタイムの情報にアクセスできます。 |
というように
メッセージが変わるのがわかる
つまり
1 2 | import os os.environ[ 'GOOGLE_API_KEY' ] = '<GOOGLE_API_KEY>' |
で
Google AI Studioでキーを取得した場合でも動かせる
まずは実験
1 | vim browse_test.py |
でファイルを作成
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # /// script # requires-python = ">=3.11,<3.12" # dependencies = [ # "browser-use", # "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai", # ] # /// import os os.environ[ 'GOOGLE_API_KEY' ] = '' from langchain_google_genai import ChatGoogleGenerativeAI from browser_use import Agent import asyncio async def main(): agent = Agent( task= "Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option." , llm=ChatGoogleGenerativeAI(model= "gemini-2.0-flash-exp" ), ) result = await agent.run() print(result) asyncio.run(main()) |
で実行したけど
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 | INFO [browser_use] BrowserUse logging setup complete with level info INFO [root] Anonymized telemetry enabled. See https: //github .com /browser-use/browser-use for more information. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f680.svg" > Starting task: Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 1 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - No previous actions to evaluate. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Open Google Flights in a new tab. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "open_tab" :{ "url" : "https://www.google.com/flights" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f517.svg" > Opened new tab with https: //www .google.com /flights INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 2 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Opened Google Flights in a new tab. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Set the trip to one-way, input Bali as departure and Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /5 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /5 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /5 : { "input_text" :{ "index" :13, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /5 : { "click_element" :{ "index" :14}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 5 /5 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 10: INFO [controller] Something new appeared after action 1 / 5 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 3 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Clicked on the trip type dropdown. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Select one-way, input Bali as departure and Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /3 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /3 : { "input_text" :{ "index" :17, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /3 : { "input_text" :{ "index" :18, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 13: ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 1 /3 times : Error executing action input_text: Failed to input text into element: <span jsaction= "click:trigger.JIbuQc" aria-haspopup= "true" aria-label= "おすすめのフライトに関する詳細情報。" role= "button" tabindex= "0" class= "WTCYAb" > [interactive, top , highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element Call log: - fill( "" ) - - attempting fill action - - waiting for element to be visible, enabled and editable INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 4 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/26a0.svg" > Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Click on the one-way button, then input Bali as departure and Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /4 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /4 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /4 : { "input_text" :{ "index" :13, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /4 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 10: INFO [controller] Something new appeared after action 1 / 4 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 5 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Clicked on the trip type dropdown and selected one-way. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Input Bali as departure and Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /3 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /3 : { "input_text" :{ "index" :17, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /3 : { "input_text" :{ "index" :18, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 13: ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 1 /3 times : Error executing action input_text: Failed to input text into element: <span jsaction= "click:trigger.JIbuQc" aria-haspopup= "true" aria-label= "おすすめのフライトに関する詳細情報。" role= "button" tabindex= "0" class= "WTCYAb" > [interactive, top , highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element Call log: - fill( "" ) - - attempting fill action - - waiting for element to be visible, enabled and editable INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 6 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/26a0.svg" > Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Click on the one-way button, then input Bali as departure and Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /4 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /4 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /4 : { "input_text" :{ "index" :13, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /4 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 10: INFO [controller] Something new appeared after action 1 / 4 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 7 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Clicked on the trip type dropdown and selected one-way. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Input Bali as departure and Oman as destination and open the datepicker. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /4 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /4 : { "input_text" :{ "index" :17, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /4 : { "input_text" :{ "index" :18, "text" : "Oman" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /4 : { "click_element" :{ "index" :19}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 13: ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 1 /3 times : Error executing action input_text: Failed to input text into element: <span jsaction= "click:trigger.JIbuQc" aria-haspopup= "true" aria-label= "おすすめのフライトに関する詳細情報。" role= "button" tabindex= "0" class= "WTCYAb" > [interactive, top , highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element Call log: - fill( "" ) - - attempting fill action - - waiting for element to be visible, enabled and editable INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 8 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/26a0.svg" > Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Click on the one-way button, then input Bali as departure and Oman as destination, and finally open the datepicker. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /6 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /6 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /6 : { "input_text" :{ "index" :13, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /6 : { "click_element" :{ "index" :14}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 5 /6 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 6 /6 : { "click_element" :{ "index" :15}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 10: INFO [controller] Something new appeared after action 1 / 6 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 9 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Clicked on the trip type dropdown and selected one-way. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Input Bali as departure and Oman as destination and open the datepicker. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /5 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /5 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /5 : { "input_text" :{ "index" :17, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /5 : { "input_text" :{ "index" :18, "text" : "Oman" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 5 /5 : { "click_element" :{ "index" :19}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 10: INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 13: INFO [controller] Something new appeared after action 2 / 5 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 10 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Clicked on the one-way button. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Input Bali as departure and Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /3 : { "input_text" :{ "index" :13, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /3 : { "click_element" :{ "index" :14}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /3 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/2328.svg" > Input "Bali" into index 13 INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 14: INFO [controller] Something new appeared after action 2 / 3 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 11 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Input Bali as departure. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Select Bali from the dropdown, and input Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /2 : { "click_element" :{ "index" :19}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /2 : { "input_text" :{ "index" :16, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 19: ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 1 /3 times : Error executing action input_text: Failed to input text into element: <div role= "option" tabindex= "-1" class= "q4z0jc QGRmIf" aria-describedby= "h0T7hb-14-cd" > [interactive, top , highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element Call log: - fill( "" ) - - attempting fill action - - waiting for element to be visible, enabled and editable INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 12 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Input Bali as departure. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Select Bali from the dropdown, and input Oman as destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /2 : { "click_element" :{ "index" :21}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /2 : { "input_text" :{ "index" :18, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 21: ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 2 /3 times : Error executing action input_text: Failed to input text into element: <ul role= "listbox" class= "DFGgtd" aria-multiselectable= "true" jsaction= "click:cXxufe" > [interactive, top , highlight:18]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element Call log: - fill( "" ) - - attempting fill action - - waiting for element to be visible, enabled and editable INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 13 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/26a0.svg" > Eval: Failed - The input fields are not text areas, and the click on the dropdown was not successful. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Need to find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Click on the one-way button, then input Bali as departure and Oman as destination, and finally open the datepicker. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /4 : { "click_element" :{ "index" :13}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /4 : { "input_text" :{ "index" :16, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /4 : { "click_element" :{ "index" :19}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 4 /4 : { "input_text" :{ "index" :16, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 13: INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/2328.svg" > Input "Bali" into index 16 INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 19: ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Result failed 3 /3 times : Error executing action input_text: Failed to input text into element: <ul role= "listbox" class= "DFGgtd" aria-multiselectable= "true" jsaction= "click:cXxufe" > [interactive, top , highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element Call log: - fill( "" ) - - attempting fill action - - waiting for element to be visible, enabled and editable ERROR [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/274c.svg" > Stopping due to 3 consecutive failures INFO [agent] Created GIF at agent_history.gif AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n - fill("")\n - - attempting fill action\n - - waiting for element to be visible, enabled and editable\n' , include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n - fill("")\n - - attempting fill action\n - - waiting for element to be visible, enabled and editable\n' , include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'Error executing action input_text: Failed to input text into element: <span jsaction="click:trigger.JIbuQc" aria-haspopup="true" aria-label="おすすめのフライトに関する詳細情報。" role="button" tabindex="0" class="WTCYAb"> [interactive, top, highlight:17]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n - fill("")\n - - attempting fill action\n - - waiting for element to be visible, enabled and editable\n' , include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'Error executing action input_text: Failed to input text into element: <div role="option" tabindex="-1" class="q4z0jc QGRmIf" aria-describedby="h0T7hb-14-cd"> [interactive, top, highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n - fill("")\n - - attempting fill action\n - - waiting for element to be visible, enabled and editable\n' , include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'Error executing action input_text: Failed to input text into element: <ul role="listbox" class="DFGgtd" aria-multiselectable="true" jsaction="click:cXxufe"> [interactive, top, highlight:18]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n - fill("")\n - - attempting fill action\n - - waiting for element to be visible, enabled and editable\n' , include_in_memory=True), ActionResult(is_done=False, extracted_content=None, error= 'Error executing action input_text: Failed to input text into element: <ul role="listbox" class="DFGgtd" aria-multiselectable="true" jsaction="click:cXxufe"> [interactive, top, highlight:16]. Error: ElementHandle.fill: Error: Element is not an <input>, <textarea> or [contenteditable] element\nCall log:\n - fill("")\n - - attempting fill action\n - - waiting for element to be visible, enabled and editable\n' , include_in_memory=True)], all_model_outputs=[{ 'open_tab' : { 'url' : 'https://www.google.com/flights' }}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 13, 'text' : 'Bali' }}, { 'click_element' : { 'index' : 14}}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 17, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 18, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 13, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 17, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 18, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 13, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 17, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 18, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 19}}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 13, 'text' : 'Bali' }}, { 'click_element' : { 'index' : 14}}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 15}}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 17, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 18, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 19}}, { 'input_text' : { 'index' : 13, 'text' : 'Bali' }}, { 'click_element' : { 'index' : 14}}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 19}}, { 'input_text' : { 'index' : 16, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 21}}, { 'input_text' : { 'index' : 18, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 16, 'text' : 'Bali' }}, { 'click_element' : { 'index' : 19}}, { 'input_text' : { 'index' : 16, 'text' : 'Oman' }}]) |
となった
原因は
プロンプトが
1 2 3 4 | Find a one-way flight from Bali to Oman on 12 January 2025 on Google Flights. Return me the cheapest option. Google フライトで、2025 年 1 月 12 日のバリ発オマーン行きの片道航空券を検索してください。 最も安いオプションを返してください。 |
のため
これだと過去の日付でフライト情報を探すのでエラーになる
このためプロンプトを修正
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | # /// script # requires-python = ">=3.11,<3.12" # dependencies = [ # "browser-use", # "langchain-google-genai @ git+ssh://git@github.com/langchain-ai/langchain-google.git#subdirectory=libs/genai", # ] # /// import os os.environ[ 'GOOGLE_API_KEY' ] = '' from langchain_google_genai import ChatGoogleGenerativeAI from browser_use import Agent import asyncio async def main(): agent = Agent( task= "Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option." , llm=ChatGoogleGenerativeAI(model= "gemini-2.0-flash-exp" ), ) result = await agent.run() print(result) asyncio.run(main()) |
とすると
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | INFO [browser_use] BrowserUse logging setup complete with level info INFO [root] Anonymized telemetry enabled. See https: //github .com /browser-use/browser-use for more information. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f680.svg" > Starting task: Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 1 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - The agent has received the task and is ready to begin. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Open Google Flights in a new tab. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "open_tab" :{ "url" : "https://www.google.com/flights" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f517.svg" > Opened new tab with https: //www .google.com /flights INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 2 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Opened Google Flights in a new tab. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Change the flight type from 'round trip' to 'one way' . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /3 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /3 : { "click_element" :{ "index" :10}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 3 /3 : { "click_element" :{ "index" :10}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 10: INFO [controller] Something new appeared after action 1 / 3 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 3 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/26a0.svg" > Eval: Failed - The agent clicked the wrong element, the dropdown is still open . It should have clicked the '片道' option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Change the flight type from 'round trip' to 'one way' . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "click_element" :{ "index" :13}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 13: INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 4 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Changed the flight type to 'one way' . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Input Bali as the departure and Oman as the destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /2 : { "input_text" :{ "index" :13, "text" : "Bali" }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /2 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/2328.svg" > Input "Bali" into index 13 INFO [controller] Something new appeared after action 1 / 2 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 5 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Input 'Bali' into the departure field and suggestions appeared. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Select 'Indonesia Bali' and input 'Oman' as the destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /2 : { "click_element" :{ "index" :16}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /2 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 16: INFO [controller] Something new appeared after action 1 / 2 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 6 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Selected 'Indonesia Bali' . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Input 'Oman' as the destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "input_text" :{ "index" :14, "text" : "Oman" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/2328.svg" > Input "Oman" into index 14 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 7 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Input 'Oman' into the destination field and suggestions appeared. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Select 'Oman' as the destination, and select the date . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "click_element" :{ "index" :17}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 17: INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 8 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Selected Oman as the destination. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Open the date picker to select the date . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "click_element" :{ "index" :15}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 15: INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 9 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Opened the date picker. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Select 21 January 2025 and click done . INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /2 : { "click_element" :{ "index" :58}} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 2 /2 : { "click_element" :{ "index" :136}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 58: 21 INFO [controller] Something new appeared after action 1 / 2 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 10 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Selected 21 January 2025. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. Departure and destination are set and date is selected. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Click done to search for flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "click_element" :{ "index" :139}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 139: 完了 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 11 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - The departure, destination and date are set . Ready to search. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Search for flights. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "click_element" :{ "index" :18}} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f5b1.svg" > Clicked button with index 18: 探索 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 12 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - The cheapest one-way flight from Bali to Oman on 21 January 2025 was found. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: The user wants to find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights and return the cheapest option. The cheapest option is to Muscat for 64,637 JPY. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Complete the task. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "done" :{ "text" : "The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY." }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4c4.svg" > Result: The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/2705.svg" > Task completed successfully INFO [agent] Created GIF at agent_history.gif AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=True, extracted_content= 'The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY.' , error=None, include_in_memory=False)], all_model_outputs=[{ 'open_tab' : { 'url' : 'https://www.google.com/flights' }}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 10}}, { 'click_element' : { 'index' : 13}}, { 'input_text' : { 'index' : 13, 'text' : 'Bali' }}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 16}}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'input_text' : { 'index' : 14, 'text' : 'Oman' }}, { 'click_element' : { 'index' : 17}}, { 'click_element' : { 'index' : 15}}, { 'click_element' : { 'index' : 58}}, { 'click_element' : { 'index' : 136}}, { 'click_element' : { 'index' : 139}}, { 'click_element' : { 'index' : 18}}, { 'done' : { 'text' : 'The cheapest one-way flight from Bali to Oman on 21 January 2025 is to Muscat for 64,637 JPY.' }}]) |
となって成功する
せっかくなので
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from langchain_google_genai import ChatGoogleGenerativeAI from browser_use import Agent import asyncio async def main(): agent = Agent( task= "Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option." , llm=ChatGoogleGenerativeAI(model= "gemini-2.0-flash-exp" ), ) result = await agent.run() print(result) asyncio.run(main()) |
の部分を変えてみる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import os os.environ[ 'GOOGLE_API_KEY' ] = '' from langchain_google_genai import ChatGoogleGenerativeAI from browser_use import Agent import asyncio async def main(): agent = Agent( task= "東京都のおすすめの焼肉屋を調べてください。" , # task="Find a one-way flight from Bali to Oman on 21 January 2025 on Google Flights. Return me the cheapest option.", llm=ChatGoogleGenerativeAI(model= "gemini-2.0-flash-exp" ), ) result = await agent.run() print(result) asyncio.run(main()) |
として実行
実行結果は
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 | INFO [browser_use] BrowserUse logging setup complete with level info INFO [root] Anonymized telemetry enabled. See https: //github .com /browser-use/browser-use for more information. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f680.svg" > Starting task: 東京都のおすすめの焼肉屋を調べてください。 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 1 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f937.svg" > Eval: Unknown - No previous actions to evaluate. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Search Google for 東京都のおすすめの焼肉屋 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "search_google" :{ "query" : "東京都のおすすめの焼肉屋" }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f50d.svg" > Searched for "東京都のおすすめの焼肉屋" in Google INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 2 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Google search was successful. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Searched Google for 東京都のおすすめの焼肉屋 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Extract content to find the best yakiniku restaurants in Tokyo. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "extract_content" :{ "include_links" : true }} INFO [controller] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4c4.svg" > Extracted page as markdown : # フィルタとトピック [すべて]( /search ?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B& source =lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIExAB) [地図](https: //maps .google.com /maps ?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B& source =lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&entry=mc&ved=1t:200715&ictx=111) [画像]( /search ?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=2&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQtKgLegQIEhAB) [フライト]( /travel/flights ?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B& source =lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&ved=1t:200715&ictx=111) ウェブ [金融]( /finance ?sca_esv=96376e12f89d18b9&output=search&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B& source =lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIDRAB) [ショッピング]( /search ?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=28&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&ved=1t:220175&ictx=111) もっと見る [書籍]( /search ?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=36& source =lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQINxAB) [ニュース]( /search ?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&tbm=nws& source =lnms&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ0pQJegQIOBAB) [動画]( /search ?sca_esv=96376e12f89d18b9&q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&udm=7&fbs=AEQNm0CIH2THdKbu9eOr8VQgXZ7ugq08g1vIpyZMspU3rPU5VJakwgtDDjkaqPXyjEE2QwyK_IzmAZ3Ar7pvWh4znUWhZipBJjfwnICnFPoLghjtRzPXQ8h1VTwdPrm5aW4yHRCh0NAw97vpnFN2iULlR4rwwTIjmHzy9dUC_gblBo4pRV1m3lnrLz2e4ZhNuyc1IZ__G6zuDebWt0Tz4FRsfc7g3qz5RDH_J_cOQs5AeAfZ12WVtNI&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQtKgLegQINhAB) ツール すべての言語 すべての言語 [日本語のページを検索]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=lr:lang_1ja&lr=lang_ja&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEAc) 期間指定なし 期間指定なし [ 1 時間以内]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=qdr:h&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEAw) [ 24 時間以内]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=qdr:d&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA0) [ 1 週間以内]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=qdr:w&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA4) [ 1 か月以内]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=qdr:m&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEA8) [ 1 年以内]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=qdr:y&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEBA) 期間を指定 期間を指定 開始日:終了日: 選択 すべての結果 すべての結果 [完全一致]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14& source =lnt&tbs=li:1&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQpwV6BAgGEBg) 詳細検索 約 28,300,000 件 (0.34 秒) Ctrl+Shift+X キーで選択  # 検索の設定 [検索のカスタマイズオフ]( /history/optout ?hl=ja) [セーフサーチぼかし: オン]( /safesearch ?prev=https: //www .google.com /search ?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26udm%3D14&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8JsIegQICRAH) [言語 (Language)日本語]( /preferences ?lang=1&hl=ja&prev=https: //www .google.com /search ?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26sca_esv%3D96376e12f89d18b9%26udm%3D14 #languages) [ダークモードデバイスのデフォルト]( /setprefs ?hl=ja&prev=https: //www .google.com /search ?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26udm%3D14%26pccc%3D1&sig=0_8K7zV1dbxa- EUltH4l6nhPwm_es%3D&cs=2&sa=X&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQqsEHegQICRAJ&ictx=1) [その他の設定]( /preferences ?hl=ja&prev=https: //www .google.com /search ?q%3D%25E6%259D%25B1%25E4%25BA%25AC%25E9%2583%25BD%25E3%2581%25AE%25E3%2581%258A%25E3%2581%2599%25E3%2581%2599%25E3%2582%2581%25E3%2581%25AE%25E7%2584%25BC%25E8%2582%2589%25E5%25B1%258B%26sca_esv%3D96376e12f89d18b9%26udm%3D14) フィードバックを送信 [ヘルプ](https: //support .google.com /websearch/ ?p=dsrp_search_hc&hl=ja) • [プライバシー](https: //policies .google.com /privacy ?hl=ja& fg =1) • [利用規約](https: //policies .google.com /terms ?hl=ja& fg =1) # 検索結果 [ 東京で人気の焼肉 ランキングTOP20食べログhttps: //s .tabelog.com › 東京 › 東京 焼肉](https: //s .tabelog.com /yakiniku/tokyo/rank ) 食べログ https: //s .tabelog.com › 東京 › 東京 焼肉 _東京 焼肉_ 予約人気ランキングTOP20 · 1生粋 · 2海鮮ブッフェダイニング 銀座八芳 新宿店 · 3海鮮ブッフェダイニング 銀座八芳 · 4 _焼肉_ みゆき苑 · 5熟成和牛 _焼肉_ エイジング・ ... [ 2025年最新 | 東京で人気の焼肉店ランキング20選!オズモールhttps: //www .ozmall.co.jp › ... › 肉料理 › 焼肉](https: //www .ozmall.co.jp /restaurant/tokyo/yakiniku/rankreview/ ) オズモール https: //www .ozmall.co.jp › ... › 肉料理 › 焼肉 1位 赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂 · 2位 炭火 _焼肉_ ARATA 麻布十番 (アラタ) · 3位 _焼肉_ 割烹ふみや/ホテルヒラリーズ赤坂 · 4位 肉亭ふたご iki 本郷三丁目店 · 5位 ... [ 東京都の焼肉が楽しめるおすすめレストラン一休レストランhttps: //restaurant .ikyu.com › ... › 東京都 焼肉](https: //restaurant .ikyu.com /area/tokyo/80001/ ) 一休レストラン https: //restaurant .ikyu.com › ... › 東京都 焼肉 _東京都_ にある. _焼肉_ が楽しめる _おすすめ_ レストラン · 近江うし _焼肉_ にくTATSU銀座店 · USHIGORO S. SHINJUKU · _焼肉_ 銀座コバウ 並木通り店 · _焼肉_ いのうえ 銀座店 · 銀座 ... [焼肉 ディナー](https: //restaurant .ikyu.com /area/tokyo/80001/05/ ) · [デート](https: //restaurant .ikyu.com /area/tokyo/80001/t-scene368/ ) · [焼肉 ランチ](https: //restaurant .ikyu.com /area/tokyo/80001/03/ ) · [池袋・目白 焼肉](https: //restaurant .ikyu.com /area/tokyo/001/80001/ ) [ 【東京】おすすめの焼肉店20選!本当に美味しい焼肉まとめ食べログhttps: //tabelog .com › ... › 東京都 › 東京都の焼肉](https: //tabelog .com /matome/17238/ ) 食べログ https: //tabelog .com › ... › 東京都 › 東京都の焼肉 2020 /12/18 — 「和牛 _焼肉_ ブラックホール 新宿三丁目店」はJR新宿駅から徒歩4分、高山ランド会館の8階にある _焼肉_ 専門店。 店内は綺麗で清潔感があり、デートに _おすすめ_ と ... [東京都渋谷区にあるおすすめの...](https: //tabelog .com /matome/17238/ #5-headline) · [東京都新宿区にあるおすすめの...](https: //tabelog .com /matome/17238/ #12-headline) [ 東京都の焼肉おすすめグルメランキング トップ50ヒトサラhttps: //hitosara .com › 全国 焼肉ランキング](https: //hitosara .com /ranking/tokyo/GC0501/ ) ヒトサラ https: //hitosara .com › 全国 焼肉ランキング _東京都_ の _焼肉_ のアクセスランキング · プレミアム掲載店. 1. 竹内 亮. 牛牛 西麻布 総本店 · プレミアム掲載店. 2. _焼肉_ 牛宮城別邸 · プレミアム掲載店. 3. 白 日寅. [ 【保存版】東京都内でおすすめのおいしい焼肉24選!コスパ ...aumohttps: //aumo .jp › 関東 › 東京](https: //aumo .jp /articles/46763 ) aumo https: //aumo .jp › 関東 › 東京 2024 /10/18 — まず紹介するのは『牛若丸』。明るく清潔感のある店内には、少人数テーブル個室、掘りごたつ席などを完備しており、多彩なシーンに対応します。 [ 【予約しないと入れない!】東京都で超人気、予約必須の焼肉30店Rettyhttps: //retty .me › 東京都 予約必須](https: //retty .me /theme/101045202/ ) Retty https: //retty .me › 東京都 予約必須 超人気焼肉店「牛蔵」。 都心の焼肉店で1人前3000円くらいする部位が1000円以下で提供されているので、お腹いっぱい食べて、飲んでも大体1人3000円くらいというコスパの良 ... [ 女子会や記念日デートにも!東京都内のおすすめ焼肉店10選nta.co.jphttps: //www .nta.co.jp › ... › グルメ](https: //www .nta.co.jp /media/tripa/articles/xznrj ) nta.co.jp https: //www .nta.co.jp › ... › グルメ 2024 /10/24 — 女子会や記念日デートにも! _東京_ 都内の _おすすめ焼肉店_ 10選 · 牛屋銀兵衛 銀座本店 · 紀尾井町 くろげ · ふらの和牛 よしうし神楽坂通り · _焼肉_ 青山外苑. [ 人生で1度は行くべき 東京焼肉12選YouTube · FUJIWARA LIFE視聴回数: 3.7万 回以上 · 8 か月前](https: //www .youtube.com /watch ? v =Yg5GZjcvlLg) YouTube · FUJIWARA LIFE 視聴回数: 3.7万 回以上 · 8 か月前 東京の _オススメ_ な _焼肉屋_ さん12店ランチで紹介致しました!もちろん飲みや ... 4._焼肉_ の名門 天壇 銀座店 _東京都_ 中央区銀座5-13-19 ... [ 【2025年最新!】東京都の焼肉 食べ放題で今年人気の ...Rettyhttps: //retty .me](https: //retty .me /theme/100015101/ ) Retty https: //retty .me [](https: //retty .me /theme/100015101/ ) 2025 /01/04 — 「 _東京都 焼肉_ 食べ放題」の話題のお店 1 店舗目は、シュラスコレストラン ALEGRIA shinjuku。《新宿駅南口徒歩7分・代々木駅徒歩3分》 ◇新宿最多20種類の ... [卸 新宿食肉センター 極 恵比寿店](https: //retty .me /area/PRE13/ARE7/SUB701/100001575173/ ) · [07 完全個室完備!上質な黒毛...](https: //retty .me /area/PRE13/ARE8/SUB802/100001716766/ ) · [かがやき](https: //retty .me /area/PRE13/ARE9/SUB906/100000020368/ ) # ページの操作 | 1| [2]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=10&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAE)| [3]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=20&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAG)| [4]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=30&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAI)| [5]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=40&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAK)| [6]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=50&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAM)| [7]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=60&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAO)| [8]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=70&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAQ)| [9]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=80&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAS)| [10]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=90&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8tMDegQIChAU)| [次へ]( /search ?q=%E6%9D%B1%E4%BA%AC%E9%83%BD%E3%81%AE%E3%81%8A%E3%81%99%E3%81%99%E3%82%81%E3%81%AE%E7%84%BC%E8%82%89%E5%B1%8B&sca_esv=96376e12f89d18b9&udm=14&ei=-WaNZ_nXLfHi2roP796XkQM&start=10&sa=N&sstk=ATObxK5bGWk4f1jMr7HZgQZ_889oPUieYeSpIuRHaSB7fgG-1LRA6vRKqX4deOJgUaxrfPugf8-GZKzSeNdJZXWpZSFJSUjfN9FfmA&ved=2ahUKEwi5uKGE1oKLAxVxsVYBHW_vJTIQ8NMDegQIChAW) ---|---|---|---|---|---|---|---|---|---|---|--- # フッターのリンク 日本 磐田市、静岡県 \- ソース: あなたの IP アドレス \- 現在地を更新 現在地を更新できません詳細 現在地を更新中... [ヘルプ](https: //support .google.com /websearch/ ?p=ws_results_help&hl=ja& fg =1)フィードバックを送信[プライバシー](https: //policies .google.com /privacy ?hl=ja& fg =1)[規約](https: //policies .google.com /terms ?hl=ja& fg =1) INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4cd.svg" > Step 3 INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f44d.svg" > Eval: Success - Extracted content successfully and identified several yakiniku restaurants in Tokyo. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f9e0.svg" > Memory: Searched Google and extracted content for best yakiniku restaurants in Tokyo INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f3af.svg" > Next goal: Task completed, provide the results to the user. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f6e0.svg" > Action 1 /1 : { "done" :{ "text" : "Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\\n\\n- **生粋**\\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\\n- **海鮮ブッフェダイニング 銀座八芳**\\n- **みゆき苑**\\n- **熟成和牛焼肉エイジング**\\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\\n- **肉亭ふたご iki 本郷三丁目店**\\n- **近江うし 焼肉 にくTATSU銀座店**\\n- **USHIGORO S. SHINJUKU**\\n- **焼肉 銀座コバウ 並木通り店**\\n- **焼肉 いのうえ 銀座店**\\n- **和牛焼肉ブラックホール 新宿三丁目店**\\n- **牛牛 西麻布 総本店**\\n- **焼肉 牛宮城別邸**\\n- **白 日寅**\\n- **牛若丸**\\n- **牛屋銀兵衛 銀座本店**\\n- **紀尾井町 くろげ**\\n- **ふらの和牛 よしうし神楽坂通り**\\n- **焼肉 青山外苑**\\n- **焼肉 の名門 天壇 銀座店**\\n- **シュラスコレストラン ALEGRIA shinjuku**\\n\\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options." }} INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/1f4c4.svg" > Result: Based on the search results, here are some of the top -rated yakiniku restaurants in Tokyo:\n\n- **生粋**\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\n- **海鮮ブッフェダイニング 銀座八芳**\n- **みゆき苑**\n- **熟成和牛焼肉エイジング**\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\n- **肉亭ふたご iki 本郷三丁目店**\n- **近江うし 焼肉 にくTATSU銀座店**\n- **USHIGORO S. SHINJUKU**\n- **焼肉 銀座コバウ 並木通り店**\n- **焼肉 いのうえ 銀座店**\n- **和牛焼肉ブラックホール 新宿三丁目店**\n- **牛牛 西麻布 総本店**\n- **焼肉 牛宮城別邸**\n- **白 日寅**\n- **牛若丸**\n- **牛屋銀兵衛 銀座本店**\n- **紀尾井町 くろげ**\n- **ふらの和牛 よしうし神楽坂通り**\n- **焼肉 青山外苑**\n- **焼肉 の名門 天壇 銀座店**\n- **シュラスコレストラン ALEGRIA shinjuku**\n\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options. INFO [agent] <img draggable= "false" class= "emoji" alt= " src= "https://s.w.org/images/core/emoji/11/svg/2705.svg" > Task completed successfully INFO [agent] Created GIF at agent_history.gif AgentHistoryList(all_results=[ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=True), ActionResult(is_done=False, extracted_content= '<img draggable="false" class="emoji" alt=" , error=None, include_in_memory=False), ActionResult(is_done=True, extracted_content= 'Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\\n\\n- **生粋**\\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\\n- **海鮮ブッフェダイニング 銀座八芳**\\n- **みゆき苑**\\n- **熟成和牛焼肉エイジング**\\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\\n- **肉亭ふたご iki 本郷三丁目店**\\n- **近江うし 焼肉 にくTATSU銀座店**\\n- **USHIGORO S. SHINJUKU**\\n- **焼肉 銀座コバウ 並木通り店**\\n- **焼肉 いのうえ 銀座店**\\n- **和牛焼肉ブラックホール 新宿三丁目店**\\n- **牛牛 西麻布 総本店**\\n- **焼肉 牛宮城別邸**\\n- **白 日寅**\\n- **牛若丸**\\n- **牛屋銀兵衛 銀座本店**\\n- **紀尾井町 くろげ**\\n- **ふらの和牛 よしうし神楽坂通り**\\n- **焼肉 青山外苑**\\n- **焼肉 の名門 天壇 銀座店**\\n- **シュラスコレストラン ALEGRIA shinjuku**\\n\\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options.' , error=None, include_in_memory=False)], all_model_outputs=[{ 'search_google' : { 'query' : '東京都のおすすめの焼肉屋' }}, { 'extract_content' : { 'include_links' : True}}, { 'done' : { 'text' : 'Based on the search results, here are some of the top-rated yakiniku restaurants in Tokyo:\\n\\n- **生粋**\\n- **海鮮ブッフェダイニング 銀座八芳 新宿店**\\n- **海鮮ブッフェダイニング 銀座八芳**\\n- **みゆき苑**\\n- **熟成和牛焼肉エイジング**\\n- **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**\\n- **炭火焼肉 ARATA 麻布十番 (アラタ)**\\n- **焼肉割烹ふみや/ホテルヒラリーズ赤坂**\\n- **肉亭ふたご iki 本郷三丁目店**\\n- **近江うし 焼肉 にくTATSU銀座店**\\n- **USHIGORO S. SHINJUKU**\\n- **焼肉 銀座コバウ 並木通り店**\\n- **焼肉 いのうえ 銀座店**\\n- **和牛焼肉ブラックホール 新宿三丁目店**\\n- **牛牛 西麻布 総本店**\\n- **焼肉 牛宮城別邸**\\n- **白 日寅**\\n- **牛若丸**\\n- **牛屋銀兵衛 銀座本店**\\n- **紀尾井町 くろげ**\\n- **ふらの和牛 よしうし神楽坂通り**\\n- **焼肉 青山外苑**\\n- **焼肉 の名門 天壇 銀座店**\\n- **シュラスコレストラン ALEGRIA shinjuku**\\n\\nThese restaurants were found in various articles and rankings, including Tabelog, Ozmall, Ikyu Restaurant, Hitosara, aumo, Retty, and NTA.co.jp. They offer a variety of experiences, from high-end dining to more casual and affordable options.' }}] |
となった
GPTで要約すると
ご提供いただいた実行結果をもとに、東京都内でおすすめの焼肉店がリストアップされています。以下がそのまとめです:
### 東京都内のおすすめ焼肉店
1. **生粋**
2. **海鮮ブッフェダイニング 銀座八芳 新宿店**
3. **みゆき苑**
4. **熟成和牛焼肉エイジング**
5. **赤坂鉄板焼 ヒレ/ホテルヒラリーズ赤坂**
6. **炭火焼肉 ARATA 麻布十番 (アラタ)**
7. **焼肉割烹ふみや/ホテルヒラリーズ赤坂**
8. **肉亭ふたご iki 本郷三丁目店**
9. **近江うし 焼肉 にくTATSU銀座店**
10. **USHIGORO S. SHINJUKU**
11. **焼肉 銀座コバウ 並木通り店**
12. **焼肉 いのうえ 銀座店**
13. **和牛焼肉ブラックホール 新宿三丁目店**
14. **牛牛 西麻布 総本店**
15. **焼肉 牛宮城別邸**
16. **白 日寅**
17. **牛若丸**
18. **牛屋銀兵衛 銀座本店**
19. **紀尾井町 くろげ**
20. **ふらの和牛 よしうし神楽坂通り**
21. **焼肉 青山外苑**
22. **焼肉 の名門 天壇 銀座店**
23. **シュラスコレストラン ALEGRIA shinjuku**### 情報元
この情報は以下のサイトを参照してまとめられました:
– 食べログ
– Ozmall
– 一休レストラン
– ヒトサラ
– aumo
– Retty
– NTA.co.jp高級志向の店舗からカジュアルでコスパの良い店舗まで幅広く含まれています。特に「食べログ」や「Retty」ではユーザー評価が高い店舗がランキングされており、信頼性があります。
もし特定の店舗やエリアでさらに詳細な情報が必要でしたら、お知らせください!
とりあえず日本語でも動作する
なので
Browser-use で gemini2.0 で日本語でも動作するなら
音声入力して日本語で動作も可能だし
ダメならdeepL API で翻訳して実行すれば問題ない
geminiでbrowser-useが使えるのは判明した
Gemini で自動再試行
によれば
Gemini 2.0 Flash Experimental の無料枠のレート制限は
2025 年 1 月 13 日時点
* 1 分あたりのリクエスト数: 10
* 1 日あたりのリクエスト数: 1,500
仕様上、1 日あたりのリクエスト数を超過していなければ、最大で 1 分程度待てば解消
とのことなので
色々試してみる