
Wuying Browser Use
- 107 installs
- 47 repo stars
- Updated February 12, 2026
- agentbay-ai/agentbay-skills
wuying-browser-use is a Claude Code skill that automates browser navigation, form filling, screenshots and data extraction through the Wuying AgentBay SDK.
About
wuying-browser-use is a Claude Code skill that automates browser interaction through the Wuying AgentBay SDK. A developer invokes it to navigate sites, fill and submit forms, take screenshots, and extract data by describing the task in Chinese or English. Each command runs independently without keeping session state and takes one to two minutes to complete.
- Drives a browser to navigate, fill forms, screenshot and scrape via the Wuying AgentBay SDK
- Takes plain-language task steps in Chinese or English
- Each run is stateless and prints a visual streaming (asp) link
Wuying Browser Use by the numbers
- 107 all-time installs (skills.sh)
- Ranked #761 of 2,715 Automation & Workflows skills by installs in the Skillselion catalog
- Data as of Aug 5, 2026 (Skillselion catalog sync)
wuying-browser-use capabilities & compatibility
- Capabilities
- web scraping · browser automation · form filling
- Use cases
- web scraping · web search
- Pricing
- Bring your own API key
What wuying-browser-use says it does
自动化浏览器交互,用于网页测试、表单填写、截图和数据提取。当用户需要浏览网站、与网页交互或提取信息时使用。
python3 -m pip install wuying-agentbay-sdk
每次命令独立运行,不保持会话状态
npx skills add https://github.com/agentbay-ai/agentbay-skills --skill wuying-browser-useAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 107 |
|---|---|
| repo stars | ★ 47 |
| Last updated | February 12, 2026 |
| Repository | agentbay-ai/agentbay-skills ↗ |
What it does
Automate web navigation, form filling, screenshots and data extraction by passing a plain-language task to a browser SDK.
Who is it for?
Automating web tasks like scraping product prices, monitoring news, or filling forms from a natural-language instruction.
Skip if: Multi-step flows needing a persistent session, since each command runs independently and keeps no session state.
When should I use this skill?
The user needs to browse a website, interact with a page, or extract information from it.
What you get
A single natural-language instruction runs a browser task and returns extracted data or a screenshot.
By the numbers
- each execution takes 1-2 minutes
Files
Wuying Browser Use
自动化浏览器操作,支持网页导航、表单填写、数据提取等任务。
依赖
python3 -m pip install wuying-agentbay-sdk使用方法
python3 scripts/browser-use.py "<任务执行步骤>"功能特性
- ✅ 网页导航和点击
- ✅ 表单填写和提交
- ✅ 数据提取和抓取
- ✅ 网页截图
- ✅ 搜索和浏览
- ✅ 支持中英文指令
常用场景
电商信息收集
python3 scripts/browser-use.py "访问京东搜索iPhone,提取前5个商品价格"新闻监控
python3 scripts/browser-use.py "打开新浪新闻,获取今日头条"社交媒体
python3 scripts/browser-use.py "访问微博热搜榜,提取前10个话题"使用技巧
1. 指令要具体明确 - 说清楚要访问哪个网站,做什么操作 2. 一次一个任务 - 复杂流程拆分成多个命令 3. 描述性语言 - 详细描述要提取的内容或点击的元素
注意事项
- 每次命令独立运行,不保持会话状态
- 某些网站可能限制自动化访问
- 指令不明确可能导致非预期结果
- 每次执行需要1~2分钟,会不断产生中间结果,不要提前杀死进程,也不要重试
- skill调用后,控制台会打印出asp流化链接(可视化的url),可告知用户查看
import os
os.environ["AGENTBAY_LOG_LEVEL"]="CRITICAL"
import logging
logging.disable(logging.CRITICAL)
from agentbay import AgentBay
from agentbay import CreateSessionParams
import asyncio
def get_api_key():
from pathlib import Path
file_path = Path.home() / ".config" / "agentbay" / "api_key"
file_path.parent.mkdir(parents=True, exist_ok=True)
if not file_path.exists():
file_path.touch()
if os.environ.get("AGENTBAY_API_KEY"):
with open(file_path, "w", encoding="utf-8") as f:
f.write(os.environ.get("AGENTBAY_API_KEY"))
try:
with open(file_path, "r", encoding="utf-8") as f:
api_key = f.read().strip()
if not api_key:
api_key = None
except Exception as e:
api_key = None
return api_key
async def main():
import argparse
# 创建解析器
parser = argparse.ArgumentParser(description='wuying-browser-use')
# 添加参数
parser.add_argument('task', help='任务描述') # 位置参数(必需)
args = parser.parse_args()
api_key = get_api_key()
if not api_key:
raise RuntimeError(
"AGENTBAY_API_KEY environment variable is not set. "
"Please visit https://agentbay.console.aliyun.com/service-management to obtain your API key."
)
agent_bay = AgentBay(api_key=api_key)
# Create a session (use an image with browser preinstalled)
params = CreateSessionParams(image_id="browser_latest")
session_result = agent_bay.create(params)
if not session_result.success:
raise RuntimeError(f"Failed to create session: {session_result.error_message}")
session = session_result.session
print(f"asp流化链接: {session.resource_url}")
agent = session.agent
max_try_times = int(os.environ.get("AGENT_TASK_TIMEOUT", 200))
print(f"🚀 Executing task: {args.task}")
result = agent.browser.execute_task(args.task, use_vision=True)
if not result.success:
raise RuntimeError(f"Task execution failed: {result.error_message}")
# 轮询任务状态直到完成
retry_times = 0
query_result = None
while retry_times < max_try_times:
query_result = agent.browser.get_task_status(result.task_id)
if not query_result.success:
raise RuntimeError(f"Task status check failed: {query_result.error_message}")
print(
f"⏳ Task {query_result.task_id} status: {query_result.task_status}, "
f"action: {query_result.task_action}"
)
if query_result.task_status == "finished" or query_result.task_status == "failed":
break
retry_times += 1
await asyncio.sleep(3)
# 检查是否超时
if retry_times >= max_try_times:
raise TimeoutError("Task did not finish within the allowed time")
# 输出最终结果
logging.info(f"✅ Task completed successfully!")
logging.info(f"📊 Task result: {query_result.task_product}")
session.delete()
return query_result.task_product
result = asyncio.run(main())
print(f"Final result: {result}")