Browser Harness:LLM 驱动自愈网页自动化 2026 版

Browser Harness 用 LLM 自动化浏览器。从网页抓取到操作。自愈机制、智能元素识别、多浏览器支持。

  • ⭐ 890
  • AI
  • Browser
  • Python
  • Apache 2.0
  • 更新于 2026-05-18

什么是 Browser Harness? #

Browser Harness 用 LLM 自动化浏览器。从网页抓取到操作。自愈机制、智能元素识别、多浏览器支持。

安装 #

pip install browser-harness

基本用法 #

启动浏览器 #

from browser_harness import Browser

browser = Browser(headless=False)
page = browser.new_page()

访问页面 #

page.goto("https://example.com")
page.screenshot("example.png")

元素交互 #

# 语义化选择
page.click("搜索框")
page.type("输入文本")
page.click("提交按钮")

AI 驱动操作 #

LLM 指令 #

from browser_harness import AI

ai = AI(model="gpt-4")

# 自然语言指令
ai.execute("登录到谷歌账户")
ai.execute("下载最近 3 个月的报表")

自愈机制 #

元素识别 #

# 传统选择器失效时自动重试
element = page.wait_for_selector(
    '#main > div:nth-child(2) > button',
    timeout=5000,
    recovery=True  # 启用自愈
)

页面重构 #

# 检测页面布局变化
if page.has_changed():
    ai.reanalyze_page()

多浏览器支持 #

Chrome #

browser = Browser("chromium")

Firefox #

browser = Browser("firefox")

Safari #

browser = Browser("safari")

智能抓取 #

递归爬取 #

urls = []
for link in page.links():
    if link not in visited:
        data = ai.scrape(link, extract_fields=["标题", "内容"])
        urls.append(data)

表格解析 #

tables = page.tables()
for table in tables:
    structured = ai.parse_table(table)

自动化脚本 #

从指令生成脚本 #

script = ai.generate_script("""
1. 访问亚马逊
2. 搜索「笔记本电脑」
3. 按价格排序
4. 选前 3 个商品
5. 保存商品信息
""")

# 执行脚本
ai.run_script(script)

集成测试 #

Web 测试 #

from browser_harness import TestSuite

suite = TestSuite()
suite.add_test(
    name="登录流程",
    steps=[
        "访问登录页",
        "输入账号密码",
        "点击登录",
        "验证登录成功"
    ]
)

生产部署 #

Docker 镜像 #

from browser_harness.docker import ImageBuilder

image = ImageBuilder()
image.add_python_deps(["playwright", "openai"])
image.run("python automation.py")

云端运行 #

# 在远程浏览器中运行
browser = Browser(headless=True, remote="https://browserstack.com")

性能优化 #

并行执行 #

from concurrent.futures import ThreadPoolExecutor

browsers = [Browser() for _ in range(5)]
with ThreadPoolExecutor() as executor:
    results = list(executor.map(run_task, browsers))

缓存页面 #

browser.cache.enable(ttl=3600)  # 1 小时

常见问题 #

Q: 自愈机制会不会降低速度?

答:会略慢,但显著提高成功率。95%+ 自动化成功率。

Q: 能否处理动态加载内容?

答:支持。内置等待机制,智能重试。

Q: 需要多少内存?

答:Headless 模式 500MB,带 UI 1GB+。

总结 #

Browser Harness 把「LLM 推理」和「浏览器控制」融合。从手动到自动,再到自愈。


参考:browser-harness.dev 文档 更新:2026-05-18

💬 留言讨论