<< All versions
Skill v1.0.0
currentLLM-judged scan90/100yanacuti1121/yana-ai/browser-use
──Details
PublishedOctober 23, 2026 at 05:54 PM
Content Hashsha256:a92c61f6c66447eb...
Git SHA5b39442837f1
──Files
Files (1 file, 4.0 KB)
SKILL.md4.0 KBactive
SKILL.md · 153 lines · 4.0 KB
version: "1.0.0" name: browser-use description: "Use when an AI agent needs to control a browser, automate web tasks, scrape pages, fill forms, or click buttons autonomously. Triggers on: 'browser automation', 'web agent', 'browser-use', 'AI browse', 'tự động duyệt web', 'điều khiển trình duyệt', 'scrape with AI', 'click button automatically', 'fill form automatically', 'web task automation'."
Browser-Use Skill
Cho AI agent điều khiển trình duyệt thực sự — click, type, scroll, scrape, fill form. Source: browser-use/browser-use (95K⭐, MIT)
Install
bash
pip install browser-useuvx browser-use install # cài Chromium nếu chưa có
Workflow
Step 1 — Setup env
bash
# .envANTHROPIC_API_KEY=your-key# hoặc OPENAI_API_KEY, GOOGLE_API_KEY
Step 2 — Basic agent
python
import asynciofrom browser_use import Agent, Browserfrom langchain_anthropic import ChatAnthropicasync def main():browser = Browser()agent = Agent(task="Tìm giá iPhone 15 Pro trên tgdd.vn và trả về kết quả",llm=ChatAnthropic(model="claude-sonnet-4-6"),browser=browser,)result = await agent.run()print(result.final_result())await browser.close()asyncio.run(main())
Step 3 — Với context tùy chỉnh (login session, cookies)
python
from browser_use import Agent, Browser, BrowserConfig, BrowserContextConfigbrowser = Browser(config=BrowserConfig(headless=True, # chạy ẩndisable_security=False,))async with await browser.new_context(config=BrowserContextConfig(cookies=[{"name": "session", "value": "abc", "domain": ".example.com"}])) as ctx:agent = Agent(task="...", llm=llm, browser_context=ctx)await agent.run()
Step 4 — Multi-step task với custom actions
python
from browser_use import Agent, Controllerfrom browser_use.browser.context import BrowserContextcontroller = Controller()@controller.action("Lưu dữ liệu vào file", param_model=SaveParams)async def save_data(params: SaveParams, browser: BrowserContext):page = await browser.get_current_page()content = await page.content()with open(params.filename, "w") as f:f.write(content)return ActionResult(extracted_content="Saved", include_in_memory=True)agent = Agent(task="...", llm=llm, controller=controller)await agent.run(max_steps=20)
Step 5 — Khai thác kết quả
python
history = await agent.run()# Kết quả cuốiprint(history.final_result())# Toàn bộ actions đã thực hiệnfor action in history.model_actions():print(action)# Screenshots từng bướcfor screenshot in history.screenshots():# screenshot là base64 PNGpass# URLs đã visitprint(history.urls())
Use cases thường gặp
python
# Scrape + extract structured dataagent = Agent(task="""Vào trang https://example.com/productsLấy tên, giá, và rating của 10 sản phẩm đầu tiênTrả về dạng JSON list""",llm=llm,)# Form automationagent = Agent(task="""Vào trang https://form.example.comĐiền: Name='Test', Email='test@mail.com', Message='Hello'Submit formXác nhận đã gửi thành công""",llm=llm,)
Options
| Option | Default | Mô tả | |
|---|---|---|---|
headless | True | Chạy không có cửa sổ | |
max_steps | 100 | Số bước tối đa | |
use_vision | True | Dùng screenshot để hiểu trang | |
save_conversation_path | None | Lưu toàn bộ conversation log |
Lỗi thường gặp
| Lỗi | Fix | |
|---|---|---|
Chromium not found | Chạy uvx browser-use install | |
| Agent loop không dừng | Giảm max_steps, thêm điều kiện dừng rõ ràng vào task | |
| Page không load xong | Thêm "đợi trang load xong trước khi thao tác" vào task description |