🤖
Browser Useでスクリーンショットを取得する
Browser Use
自然言語でE2Eテストに使えないか試してみたので副産物を公開
サンプルコード
スクリーンショットを取得するカスタムアクションを登録してステップ毎にスクリーンショットを取得するようプロンプトに指示を追加
example.py
from langchain_openai import ChatOpenAI
from browser_use import Agent
from browser_use.browser.browser import Browser, BrowserConfig
from browser_use.controller.service import Controller
import asyncio
controller = Controller()
agent = None
@controller.registry.action('スクリーンショットを保存する')
async def save_screenshot(filename: str = "screenshot.png") -> str:
page = await agent.browser_context.get_current_page()
await page.screenshot(path=filename)
return f"スクリーンショットを {filename} として保存しました"
async def main():
global agent
llm = ChatOpenAI(model="gpt-4o-mini")
agent = Agent(
task="""
確認くんというサイトをGoogle検索して一番上の検索結果にアクセスして自身のIPアドレスを確認してください
ステップを実行するたびにスクリーンショットを step-{n}.png として保存してください
""",
llm=llm,
controller=controller,
browser=Browser(config=BrowserConfig(
disable_security=True,
headless=False,
)),
)
result = await agent.run()
print(result)
if __name__ == "__main__":
asyncio.run(main())
Discussion