ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Browser-Use 上手指南:让浏览器 Agent 替你巡检三地价格

Browser-Use 上手指南:让浏览器 Agent 替你巡检三地价格 Browser-Use 上手指南让浏览器 Agent 替你巡检三地价格【免费下载链接】browser-use Make websites accessible for AI agents. Automate tasks online with ease.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use确认同一商品在美、德、日三站的售价手动切代理 IP、等页面加载、截图比对值得自动化。Browser-Use 让 LLM 直接驱动真实浏览器代理架构控制出口 IPDOM 序列化让模型读懂页面你只给一句任务。它到底在做什么Browser-Use 是一个给大模型装上手的框架你写一句自然语言任务它启动 Chromium或云浏览器把页面压缩成模型可读的元素清单然后循环执行看页面 → 选动作 → 点/填/滚 → 再看页面直到任务完成并按你指定的 schema 返回结构化结果。边界也很明确它驱动的是真实浏览器适合需要像人一样操作网页的任务它不解析 HTML、不发裸 HTTP 请求也不替代你的爬虫调度系统。核心机制拆解代理配置一份 ProxySettings 打本地一个参数切云出口问题多地巡检时出口 IP 决定你看到的是哪个地区的页面而代理往往是整个链路里最容易被配错的一环。设计思路browser-use 把代理从散落的启动参数收敛成类型化的ProxySettingsserver/bypass/username/password 四个字段挂在BrowserProfile上启动时翻译成 Chromium 的--proxy-server与--proxy-bypass-list参数见 browser_use/browser/profile.py。本地浏览器走你自备的代理服务器走云浏览器时则不用管服务器地址直接用一个国家码字段选择出口。from browser_use import BrowserProfile, ProxySettings from browser_use.browser import Browser # 本地浏览器流量显式走你的代理内网域名绕开代理 profile BrowserProfile(proxyProxySettings( serverhttp://proxy.example.com:8080, bypasslocalhost,127.0.0.1, )) # 云浏览器按国家选出口省掉自建代理池 browser Browser(use_cloudTrue, cloud_proxy_country_codejp)DOM 序列化元素索引是怎么来的问题一个电商页面的原始 HTML 动辄几百 KB其中大量节点既不可见也不可交互直接塞给模型既贵又慢。设计思路DOMTreeSerializer遍历 CDP 抓回的增强 DOM 树用包围盒过滤被父元素完全覆盖的子元素丢弃和绘制顺序过滤被遮挡的元素丢弃剪枝只保留可交互元素并给每个元素分配稳定 index——LLM 说点 index 27框架就知道点哪个节点。编号还会带上一版缓存页面没变化时编号保持稳定减少模型指错人实现见 browser_use/dom/serializer/serializer.py。# 每一步动作前框架都会走一遍这个流程内部 API此处只示意调用关系 serializer DOMTreeSerializer( root_nodedom_tree, # CDP 抓回的增强 DOM 树 previous_cached_statecached, # 带上一步缓存让元素编号跨步保持稳定 ) dom_state, timing serializer.serialize_accessible_elements() # dom_state 只剩可交互元素各带稳定 index 供 LLM 引用Agent 循环从任务到结构化结果问题模型每步产出的动作是半自由的你需要它既别无限空转烧 token又别把结果以一段散文返回。设计思路Agent.run()是一个受max_steps约束的循环每一步先取浏览器状态截图 DOM 文本再让 LLM 产出下一个动作并执行连续失败达到max_failures默认 5即中止内置的循环检测默认窗口 20 步会识别反复做同一件事并提醒模型换路。结果侧靠extraction_schema把最终输出钉成固定字段拿到的是 dict 而不是自然语言。agent Agent( task打开 https://example.com/product/123提取当前售价, llmChatBrowserUse(modelbu-2-0-mini-preview), extraction_schema{price: float}, # 钉死输出结构便于下游直接落库 max_failures3, # 连续失败 3 步就止损避免空转 ) history await agent.run(max_steps10) print(history.final_result())从零跑通三地价格巡检先安装并配置云浏览器密钥本地浏览器则不需要 API key但要自备代理和 Chromium 依赖pip install browser-use export BROWSER_USE_API_KEY你的密钥下面是可直接运行的巡检脚本对应开篇三地比价的场景每个国家一个独立浏览器会话import asyncio from dotenv import load_dotenv from browser_use import Agent, Browser, ChatBrowserUse load_dotenv() async def check_price(country: str) - str: # 每次调用都新开会话避免不同国家之间共享 cookie 互相污染 browser Browser(use_cloudTrue, cloud_proxy_country_codecountry) agent Agent( task访问 https://example.com/product/123提取页面显示的当前售价, llmChatBrowserUse(modelbu-2-0-mini-preview), browserbrowser, extraction_schema{price: float}, ) history await agent.run(max_steps10) return history.final_result() or 未提取到价格 if __name__ __main__: for c in (us, de, jp): print(c, asyncio.run(check_price(c)))把example.com换成真实商品页即可。想看 Agent 自己产页面的能力仓库里的 ad-use 示例让 Agent 直接生成了整张落地页配置速查配置项作用典型值BrowserProfile.proxy本地浏览器代理server/bypass/username/passwordProxySettings(serverhttp://host:8080)Browser(cloud_proxy_country_code...)云浏览器出口国家jp、deAgent.extraction_schema把最终结果钉成结构化字段{price: float, currency: str}Agent.max_failures连续失败步数上限默认 53Agent.step_timeout单步动作超时秒默认 18060BROWSER_USE_HEADLESS环境变量控制本地浏览器无头模式1常见坑与适用边界cloud_proxy_country_code只对云浏览器生效。配给本地浏览器不会报错但也不生效本地想换出口必须自己传ProxySettings。代理质量直接决定成功率慢代理会让单次导航顶到step_timeout默认 180 秒导致该步失败。频繁超时时先测代理 RTT别先改代码。元素 index 每步都可能重排不要在自己的脚本里硬编码点 index 42对 DOM 变化快的动态页面保持use_visionTrue默认开启让视觉兜底。元素清单有长度上限max_clickable_elements_length默认 40000 字符超长页面被截断后模型看不见底部元素长页面任务要写先滚动到 X 位置之类的引导。这套方案是真实浏览器 每步一次 LLM 调用单次运行以秒到分钟计、按步消耗 token。超高频抓取每秒上千请求、数据有 API 可取、以及没有浏览器运行环境纯 CLI、嵌入式的场景都不适合用httpx直连更高效。各模型在基准测试中的成功率差异是选择llm参数时值得看的指标模型越强看错元素、点空的情况越少总结Browser-Use 把开浏览器 → 读页面 → 执行动作 → 结构化返回压缩成十几行代码代理层让多地巡检不用自建出口 IP 池。下一步从examples/getting_started/的四个递进示例读起再对照 examples/browser/cloud_browser.py 理解云浏览器与本地浏览器的切换。先用python examples/simple.py跑通官方示例再把它改写成你自己的三地比价任务。【免费下载链接】browser-use Make websites accessible for AI agents. Automate tasks online with ease.项目地址: https://gitcode.com/GitHub_Trending/br/browser-use创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表