微软又一自动化开源王炸,Selenium 慌了!
在当今数字化时代,浏览器自动化工具对于开发人员、测试人员以及数据分析师等群体而言,是提高工作效率、实现流程自动化的得力助手。Selenium 作为一款经典的开源浏览器自动化工具,多年来在行业内占据着重要地位,被广泛应用于 Web 应用程序的自动化测试、数据抓取等场景。
然而,今天要给大家带来的是,微软推出了一款名为 Magentic UI
的开源项目,这可是自动化领域的一颗“王炸”炸弹!
1、什么是 Magentic UI?
Magentic-UI
,是微软推出的一款开源的人机协作网页自动化工具,旨在通过网页浏览器实时协助用户完成复杂的网络任务。它基于微软此前发布的 Magentic-One 多智能体系统和 AutoGen 框架打造,以 MIT 许可证开源。
这个工具不仅可以自动浏览网页、填写表单,还能执行代码、分析文件,关键是整个过程完全透明可控。
这个自动化开源项目核心逻辑主要由Python编写,
访问快捷导航平台(https://kjdaohang.com/
),点击最新上架菜单,找到Magentic-UI
,点击直达链接,可查看项目源码。
2、核心功能与优势
以人为中心:Magentic UI 的设计理念是模拟人类用户的操作,而不是简单的脚本执行。这意味着它能够更好地处理复杂的交互场景,如动态加载、弹窗处理等。
协作执行,实时交互:在执行过程中,Magentic-UI 会实时向用户播报下一步行动,同时展示所访问网页内容。用户可以随时暂停流程,用手头浏览器亲自验证某一步骤,或通过自然语言反馈纠正智能体的执行路径 。假设在数据收集任务中,智能体提取的数据与用户预期偏差较大,用户可即时介入,直接引导智能体调整筛选条件,确保数据准确性 。
智能操作: 利用 AI 技术,Magentic UI 能够智能识别网页元素,自动完成点击、填写表单等操作,大大减少了人工干预的需要。
学习进化,越用越智能:每次任务完成后,Magentic-UI 能对执行过程进行复盘,将关键步骤提炼为通用计划并妥善保存。用户可以随时查看这些往昔经验,直接套用或按需修改。当下次面对相似任务时,智能体便能基于历史经验迅速启动,大大缩减任务筹备时间。
3、快速上手
首先说一下如何安装,安装过程非常简单,只需几个命令即可完成:
1、创建虚拟环境并激活(需要安装 Python 3.10+):
python3 -m venv .venv
source .venv/bin/activate
# 如果您使用 uv 进行依赖项管理,则可以使用以下命令安装 Magentic-UI:
uv venv --python=3.12 .venv
. .venv/bin/activate
2、安装 Magentic-UI:
pip install magentic-ui
3、启动服务:
magentic-ui --port8081
第一次运行此命令时,构建 Docker 镜像需要一段时间,你可以去喝杯咖啡什么的。下次运行它时,它会快得多,因为它不必再次构建 Docker。
如果您的端口是 8081,则可以在http://localhost:8081
访问 Magentic-UI即可使用。
Magentic-UI
需要 Docker 才能运行,如果您使用的是 Windows,则需要 WSL2。建议使用Mac 或 Linux。
如果您无法设置 Docker,您可以运行有限版本的 Magentic-UI,该版本无法执行代码、导航文件或使用命令在界面中显示浏览器:
magentic-ui --run-without-docker --port 8081
如果您在构建 docker 时遇到问题,请尝试使用以下命令重新构建它们:
magentic-ui --rebuild-docker --port 8081
接下来,就是如何使用了。
需要设置 OpenAI API 密钥,支持 Azure OpenAI 和 Ollama 等多种模型。要使用 Azure 模型或 Ollama,请使用可选依赖项进行安装:
# for Azure
pip install magentic-ui[azure]
# for Ollama
pip install magentic-ui[ollama]
下面,展示如何与 Magentic-UI进行分步用户交互:
1、通过对话与 AI 一起制定详细的任务执行步骤。
2、协同任务执行,可以随时中断和引导任务执行,直接通过网页浏览器或对话进行干预。
3、对于关键操作,系统会主动请求用户确认后再执行,支持同时运行多个任务,状态指示器会提醒何时需要输入或任务完成。
写在最后
微软 Magentic-UI 的出现,无疑为浏览器自动化领域注入了新的活力。它凭借创新的人机协作模式、强大的功能以及出色的安全机制,展现出了超越传统工具的潜力。
对于需要频繁进行网页自动化操作的开发者来说,Magentic-UI 确实是个不错的选择。
它的出现给自动化领域提供了更多新的思路,不过这个工具目前毕竟刚出来不久,在生产环境使用需要谨慎考虑。
总的来说,作为一个创新的网页自动化方案,值得试试。
如果这篇文章对你有帮助,不妨点个赞、转发、收藏,想第一时间收到推送,记得加个星标
好了,今天的分享到此结束,感谢大家抽空阅读,我们下期再见,Respect!
微软又一自动化开源王炸,Selenium 慌了!的更多相关文章
- 测试开发:推荐一款阿里最新 Python 自动化开源工具!
大家好,我是麦小米,是狂师老师全栈测开训练营中的一名学员. 如果之前做过iOS自动化的同学相信都知道,一直以来,iOS自动化的实现&执行都必须依赖 Mac 系统,其主要原因是因为需要通过 xc ...
- 微软认真聆听了开源 .NET 开发社区的炮轰: 通过CLI 支持 Hot Reload 功能
微软近日激怒了开源.NET社区,起因是它删除了开源.NET的一项旗舰功能,以提升Visual Studio 的吸引力,尤其是针对与Visual Studio颇有渊源的跨平台源代码编辑器Visual S ...
- (转载)自动化基础普及之selenium是啥?
转载:http://www.cnblogs.com/fnng/p/3980093.html Selenium 并不像QTP那样让人一下子就明白是什么?它是编程人员的最爱,但它却对测试新手产生了很大的阻 ...
- 微软分布式框架Orleans开源了
开源地址: https://github.com/dotnet/orleans 昨天编译了一下,这个最新的Orleans安装程序(用github源码编译的) 下载地址:http://pan.baidu ...
- 自动化基础普及之selenium是啥?
Selenium 并不像QTP那样让人一下子就明白是什么?它是编程人员的最爱,但它却对测试新手产生了很大的阻碍. Selenium 是啥? Selenium RC是啥? Webdriver 又是啥? ...
- 微软开放技术发布开源 Jenkins 插件以将 Windows Azure Blob 服务用的开作存储库
发布于 2014-02-10 作者 陈 忠岳 持续集成 (CI) 的历史源远流长, 其宗旨在于软件团队在敏捷环境中不断将他们的工作整合为持续构建.管理 CI 进程的工具已存在一段时间.过去几年中 ...
- 微软开放技术发布开源的微软云服务器底盘管理器 (Chasis Manager) 软件
发布于 2014-07-14 作者 陈 忠岳 今天,微软公司加入开放计算项目(OCP),贡献出硬件和软件规范,管理 API 和协议,机械 CAD 模型,以及电路板文件和 Gerbers(描述印刷 ...
- 【号外号外:微软收购 .NET 的开源实现 Xamarin 项目的公司】
[首页小编:你好,关于博客园对Xamarin的报道确实一笔而过了,希望能不要把这篇文章移除首页呵呵,祝福帅气,聪明,敏捷,睿智的小编] 一个月后,微软开始免费Xamarin了....还要放开SDK.. ...
- UI自动化(七)selenium简述
1.什么是ui自动化模拟人用代码的方式去操作页面2.为什么要做ui自动化后期迭代的时候,老功能比较多,人工维护成本大这时候考虑引入ui自动化3.什么时候做ui自动化项目稳定,不在修改的某些老功能,为这 ...
- Jenkins自动化构建(一)执行selenium+python脚本
Jenkins执行python写的selenium自动化脚本,通常会遇到,执行打不开浏览器,查看jenkins构建Console Output控制台输出信息,发现脚本是执行了的,但是出错了,打开浏览器 ...
随机推荐
- 操作系统综合题之“采用时间片轮转调度算法(Round-Robin,RR)执行,分时系统中的进程可能出现的状态变化”
一.问题:某分时系统中的进程可能出现下图所示的状态变化,请回答下列问题: 1.根据图示,您认为该系统采用的是什么进程调度策略? 2.把图中所示的每一个状态变化的原因填在下表相应位置. 变化 原因 1 ...
- Ubuntu 中通过源码安装 Python3.x 环境
最近在个人前后端分离项目时候, 后端接口程序 fastapi, 在部署的时候, 需要 Pyhton3.8 以上的环境, 但 ubuntu 默认的是 2.7 于是想通过源码安装的方式进行环境搭建. 下载 ...
- WebAssembly在实际应用中的案例探究
@charset "UTF-8"; .markdown-body { line-height: 1.75; font-weight: 400; font-size: 15px; o ...
- WindowsPE文件格式入门10.TLS表
https://www.bpsend.net/thread-407-1-1.html 当一个全局变量,所有的线程都会同时访问这个全局变量,其实就是访问同一块内存,有时我们希望所有的内存访问同一块内存, ...
- 计算机组成原理 L02 指令集体系结构(ISA)复习-1
计算机组成原理 L02 指令集体系结构(ISA)复习-1 复习-1 用作例题/课后题整理 复习-2 用作理论知识点整理 如何使用大常数 由于大数值范围:[-2^31, 2^31-1],而I型指令常数字 ...
- SpringBoot启动类没有启动按钮,java文件变为灰色的解决策略
今天在查看Spring Boot项目的时候发现自己的项目变成了上面这个样子,无法执行main函数. 解决方法(上述操作可以忽略):选择我们项目的pom文件,然后右键选择 Add as Maven ...
- 20244104 实验一《Python程序设计》实验报告
20244104 2024-2025-2 <Python程序设计>实验x报告 课程:<Python程序设计> 班级:2441 姓名:陈思淼 学号:20244104 实验教师:王 ...
- 在Ubuntu上使用Let's Encrypt配置Nginx SSL证书并自动更新
在Ubuntu上使用Let's Encrypt配置Nginx SSL证书并自动更新 绪言 这篇文章其实内容不多,难度不大,只是自己记录一下. Arisu拷打了我几次我在阿里云上花钱购买SSL证书一事. ...
- Springboot笔记<7>过滤器与拦截器
过滤器 拦截器 过滤器 过滤器拦截的是URL Spring中自定义过滤器(Filter)一般只有一个方法,返回值是void,当请求到达web容器时,会探测当前请求地址是否配置有过滤器,有则调用该过滤器 ...
- 题解:CF1045I Palindrome Pairs
题目链接:link. 首先上思路: 如果一个字符串是回文串,只有当其中最多的只有一个字符的出现次数是奇数. 注意我们可以将每个字符串的字符出现次数的奇偶性用一个 \(26\) 位的二进制表示. 接下来 ...