桌面自动化实现原理-RPA+

windows下RPA软件推荐 RPA(Robotic process automation),即机器人流程自动化,可以帮我们完成日常生活中重复单一的简单操作,比如模拟鼠标点击和键盘输入。 阅读详情

RPA产品实现自动化从类型上大致可以分为桌面应用/浏览器应用/其它(Mainframe/Java等),本文将分析RPA或者自动化类工具实现桌面应用自动化的原理。

不管使用什么技术来执行自动化至少都得包含如下几个要素:

    • 找

找元素、控件、输入框、等等想找的内容

    • 读

读取文本,状态,位置,是否勾选等等

    • 控

单击、双击、输入内容、下拉等操作属于控制的范畴

Win32API:

Windows API是微软在Windows操作系统中提供的一套核心应用程序编程接口(API)。

Windows API (Win32)主要关注于编程语言C,因为其公开的函数和数据结构在其文档的最新版本中都是用该语言描述的。但是,任何能够处理低级数据结构以及为调用和回调指定的调用约定的编程语言编译器或汇编程序都可以使用该API。类似地,API函数的内部实现历史上是用几种语言开发的。尽管C语言不是面向对象的编程语言,但Windows API和Windows在历史上都被描述为面向对象的。还有许多面向对象语言的包装器类和扩展,它们使这个面向对象的结构更加显式(Microsoft Foundation Class Library (MFC)、Visual Component Library (VCL)、GDI+等)。例如,Windows 8提供了Windows API和WinRT API,这些API是用c++实现的,设计上是面向对象的。

无论是MFC,VCL还是VB6,Win32 SDK 都是其根本,最终打交道的其实都是HWND和Windows Message。

【本文以Windows 10 ,系统自带 calc.exe(计算器程序举例)】

Spy++获取的信息非常有限

 

Spy++ 下载: Windows Spy++ (下载1)

 

使用最新框架开发计算器应用,Spy++ 仅仅可以识别计算器窗体最基础的名称,位置,HWND等信息,无法识别更细节的每一个按钮,Win32API无法完全自动化这类应用。

Spy++获取的有用信息很少,查找信息麻烦

Spy++工具提取了上百个各类窗体信息,导致查找效率低,比较适合一些较老的应用,在与MSAA和UIA搭配使用时可以获得不错的效果。

Win32API可以操作底层的OS接口,用来处理模拟键盘鼠标,特殊的一些窗体时有奇效。

BluePrism Win Mode获取的信息与Spy++一致

BluePrism可以手动切换Win32/AA/UIA的拾取方式。

基于Win32API有一款非常知名的自动化工具 AutoIT

https://www.autoitscript.com/site/

AutoIt v3是一种类似于Basic的免费软件脚本语言,用于自动化Windows GUI和通用脚本。它使用模拟击键、鼠标移动和窗口/控制操作的组合,以一种其他语言(例如VBScript和SendKeys)不可能或不可靠的方式自动化任务。AutoIt也非常小,自包含,可以运行在所有版本的Windows开箱即用,不需要烦人的“运行时”!

【 Win32API缺点:】

  • 使用复杂,实现成本高。Win32 API的使用上有很多需要特别注意的细节, 比如有的Win32 API不能跨进程工作,有的Windows Message只能发给当前线程所创建的窗口,稍有不慎,就导致自动化程序不稳定。
  • 过于底层,不便使用。为了方便调用,往往需要对API进行封装,增加了实现成本。例如Win32查询窗体方法,内置方法FindWindow 和 FindWindowEx需要逐层获取HWND,逐层查找,在嵌套多层的UI程序面前显特别不方便。于是就需要自己封装一些实用的方法和类

def find_idxSubHandle(pHandle, winClass, index=0):
    """
    已知子窗口的窗体类名
    寻找第index号个同类型的兄弟窗口
    """
    assert type(index) == int and index >= 0
    handle = win32gui.FindWindowEx(pHandle, 0, winClass, None)
    while index > 0:
        handle = win32gui.FindWindowEx(pHandle, handle, winClass, None)
        index -= 1
    return handle
 
 
def find_subHandle(pHandle, winClassList):
    """
    递归寻找子窗口的句柄
    pHandle是祖父窗口的句柄
    winClassList是各个子窗口的class列表,父辈的list-index小于子辈
    """
    assert type(winClassList) == list
    if len(winClassList) == 1:
        return find_idxSubHandle(pHandle, winClassList[0][0], winClassList[0][1])
    else:
        pHandle = find_idxSubHandle(pHandle, winClassList[0][0], winClassList[0][1])
        return find_subHandle(pHandle, winClassList[1:])
  • 不同的开发工具,比如MFC, VCL,以及.NET Framework,在内部实现上对Win32 API有很多细节的处理。例如, .NET 中的WinForm Control对Win32 HWND的维护是动态的,同一个WinForm Control的HWND在程序的生命周期内是可能发生改变的,这一点对于依赖HWND作为唯一标识的Win32 API就是一个致命伤。
  • 无法识别许多新框架窗体内容。例如这次举例的计算器程序,使得Win32 API对于这类应用基本没什么用武之地。

MSAA:

Microsoft Active Accessibility (MSAA)是一个用于用户界面可访问性的应用程序编程接口(API)。MSAA是在1997年作为Microsoft Windows 95的附加平台引入的。MSAA旨在帮助辅助技术(AT)产品与应用程序(或操作系统)的标准和自定义用户界面(UI)元素进行交互,以及访问、标识和操作应用程序的UI元素。AT产品与MSAA支持的应用程序一起工作,以便为有身体或认知困难、缺陷或残疾的个人提供更好的访问。AT产品的一些例子是为视力有限的用户提供的屏幕阅读器,为身体接触有限的用户提供的屏幕键盘,或为听力有限的用户提供的旁白器。MSAA还可以用于自动化测试工具和基于计算机的培训应用程序。

MSAA的最新规范可以在Microsoft UI自动化社区承诺规范中找到。

AccExplorer 识别数字9

 

AccExplorer 2 下载 AccExplorer32 (下载1)

 

AccExplorer工具识别的响应速度非常快,但是忽略了许多对自动化很重要的属性参数例如:AumationId , Control Type 等,所以实际应用中是蛮不方便的。

MSAA拾取方式可以适配的Window 桌面应用类型是非常广泛的,尽管UIA会继承MSAA,只是当下MSAA可以搞定自动化元素场景还是挺丰富的。

Uibot以默认方式识别数字9

MSAA方式识别计算器按键9 ,

“数字键盘”  的Control Type: 50026

“九”的Control Type :50000

其他各项指标也都可以一一对应。

由此可以确定Uibot默认识别Window应用窗体方式为MSAA, 将”Control Type”属性的名称修改为了 “cid”

Uibot使用MSAA对元素的识别和影响速度非常快,优化的应该挺好的。

【 MSAA缺点:】

  • MSAA基于COM技术, 但IAccessible并不是一个COM标准接口。比如使用者不需要调用CoInitialize即可使用,也无法通过QueryInterface进一步获取更多的自定义接口。这局限了MSAA所能提供的功能。
  • IAccessible接口的定义有缺陷。里面不少方法是可有可无的,但是又缺少一些支持UI自动化的关键方法。比如它提供了accSelect支持控件的选取,但是却没有类似accExpand这样的方法支持树状控件的展开等。
  • 复杂窗体元素定位效率低

UIA:

Microsoft UI Automation (UIA)是一个应用程序编程接口(API),它允许访问、标识和操作另一个应用程序的用户界面(UI)元素。UIA的目标是提供UI可访问性,它是Microsoft Active Accessibility的继承者。它还促进了GUI测试自动化,并且它是许多测试自动化工具所基于的引擎。许多RPA工具也使用它来自动化业务流程中的桌面应用程序。

UIAutomation是微软从Windows Vista开始推出的一套全新UI自动化测试技术, 简称UIA。在最新的Windows SDK中,UIA和MSAA等其它支持UI自动化技术的组件放在一起发布,叫做Windows Automation API。UIA的属性提供程序同时支持Win32和.net程序。

Uipath默认方式拾取按键9

阅读UiPath拾取器Selector属性即可发现,Uipath通过UIA的拾取方式提取了上图内容。

RPAPlus SPY+可以清晰展示树状结构,UIA属性

【UIA应用举例2-微信桌面版】

Uipath拾取微信桌面版-整个窗体高亮

是不是微信桌面版无法拾取呢?其实不是

通过RPAPlus-SPY+扫描后分析,马上可以找到原因

微信桌面版-在窗体表面添加了一个popupshadow

 

微信桌面版在程序表面添加了一层类似阴影或者蒙版的窗体,用来阻隔UIA识别工具的侦察。(高~~~)

【 UIA VS MSAA:】来自微软官方文档

基本设计原则:

MSAA和UIA是两种不同的技术,但它们的基本设计原则是相似的。这两种技术的目的都是公开有关Windows应用程序中使用的UI元素的丰富信息。易访问性工具的开发人员可以使用这些信息来创建软件,使在Windows上运行的应用程序更容易被有视觉、听觉或运动障碍的人访问。

MSAA和UIA都将UI对象模型公开为层次树,以桌面为根。MSAA将单个UI元素表示为可访问的对象,而UI Automation将它们表示为自动化元素。两者都将可访问性工具或软件自动化程序作为客户端。然而,MSAA将提供可访问性UI的应用程序或控件称为服务器,而UI Automation将其称为提供者。

属性和控制模式:

Microsoft Active Accessibility提供了一个带有固定的小属性集的组件对象模型(COM)接口。UIA提供了一组更丰富的属性,以及一组称为控制模式的扩展接口,以Microsoft Active Accessibility所不能的方式操作可访问的对象。

MSAA角色和UI自动化控制模式:

微软在Windows 95发布的同时设计了Microsoft Active Accessibility object模型。该模型基于十年前定义的“角色”,不能支持新的UI行为,也不能将两个或多个角色合并在一起。例如,没有文本对象模型来帮助辅助技术处理复杂的web内容。UIA通过引入使对象支持多个角色的控制模式克服了这些限制,UIA文本控制模式提供了成熟的文本对象模型。

对象模型导航:

Microsoft Active Accessibility的另一个限制是在对象模型中导航。Microsoft Active Accessibility将UI表示为可访问对象的层次结构。客户端使用可访问对象提供的接口和方法从一个可访问对象导航到另一个可访问对象。服务器可以使用IAccessible接口的属性或标准IEnumVARIANT COM接口公开可访问对象的子对象。但是,客户端必须能够为任何服务器处理这两种方法。这种模糊性意味着客户端实现者要做额外的工作,而服务器实现者要做破碎的可访问对象模型。

UIA将UI表示为自动化元素的层次结构树,并提供用于导航树的单个接口。客户端可以通过限定作用域和筛选来定制树中元素的视图。

对象模型的可扩展性:

如果不破坏或更改IAccessible COM接口规范,Microsoft Active Accessibility属性和函数就不能进行扩展。结果是,新的控制行为不能通过对象模型公开;它往往是静态的。

通过UIA,当创建新的UI元素时,应用程序开发人员可以引入自定义属性、控制模式和事件来描述新元素。

从MSAA过渡:

Windows自动化API框架提供了从Microsoft Active Accessibility server到UIA提供者的转换支持。IAccessibleEx接口支持将特定的UIA属性和控制模式添加到遗留的Microsoft Active Accessibility服务器,而不需要重写整个实现。IAccessibleEx接口还允许进程内Microsoft Active Accessibility客户端直接访问UIA提供程序接口,而不是通过UIA客户端接口。

选择MSAA、UIA或IAccessibleEx:

如果您正在开发一个新的应用程序或控件,Microsoft建议使用UIA。尽管Microsoft Active Accessibility在短期内更容易实现,但是该技术固有的局限性,例如其老化的对象模型和无法支持新的UI行为或合并角色,使其在长期内更加困难和昂贵。在引入新的控制时,这些限制变得尤为明显。

UIA对象模型比Microsoft Active Accessibility模型更易于使用,也更灵活。UIA元素反映了用户界面的演变,开发人员可以定义自定义UIA控制模式、属性和事件。

对于超出流程的客户端,Microsoft Active Accessibility往往运行缓慢。为了提高性能,可访问性工具程序的开发人员经常选择在目标应用程序过程中挂入并运行他们的程序:这是一种极其困难和危险的方法。UIA对于进程外的客户端来说更容易实现,并且提供了更好的性能和可靠性。

【 简单总结UIA优势:】

  • 适应不同类型的UI程序,包括Win32、WinForm、 WPF、QT、Silverlight。由于WPF和Silverlight中的子窗口和控件并不是传统的HWND,所以Win32 API和MSAA无能为力。而UIA可以直接支持这两种程序。
  •  UIA兼容传统的Win32和MSAA模式。前面提到过,UIA技术的内部实现可以多样化。
  • UIA对于进程外的客户端来说更容易实现。
  • UIA可以引入自定义属性、控制模式和事件来描述新元素。
  • UIA提供完善的工具、文档、开发包、例子程序等。

以上是处理桌面自动化最标准最靠谱的技术实现方式,然而除了标准方法之外,还可以扩展更多选项:

【基于坐标】/【基于颜色】/【基于CV】 为桌面自动化增加了更多可能和无限想象,最后的结果想必是只要人能操作的,机器人也一定能操作。

在所有自动化技术方案中基于【基于坐标】可能是最不可能的,最主要的原因是缺少了文章开头提到的”找、读、控“三要素之一的读,导致自动化流程的准确性降低,成熟的智能自动化工程师应该尽量避免使用基于坐标的方法。

今后我们也会对其它类型的自动化,网页自动化,做更多更深入的分享。

包含:Chrome/IE自动化,Java Access Bridge支持下的自动化/Mainframe Emulator自动化 等等。

服务号文章后续无法实时更新,但官网的这篇文章后续会随着时间的推移,修改和补充更多内容进去。

 

► RPA是什么?你们公司部署的可能只是桌面自动化

► 2019年全球TOP 几大RPA厂商商业数据分析

►【RPA vs BPA】RPA与BPA的区别

► 几款不错的RPA开源软件分享[RPA Plus]

► 企业有关于未来工作的路线计划图吗?

► 免费入驻-RPA产品在中国页面

► RPA新宣言:流程自动化机器人的十大定律

► Uipath 收发消息 R-Connect范例(官网可下载)

► RPA开发利器,R-Connect 人机交互解决方案

► 搜索引擎机器人-可下载

► RPA的门槛真的很低吗?

► RPAPlus 2020合作计划

► 突破RPA的障碍和最佳实践 RPA Plus

► 国产RPA软件横评报告

RPA利用 Windows 定时任务启动流程(解决单机版定时启动问题) 学Python,用RPA 艺赛旗RPA2020.1版本 正在免费下载使用中,欢迎下载使用 www.i-search.com.cn/index.html?from=line1 最近以及之前的很长时间里,总会听到询问关于单机版在没有购买控制平台的前提下,能否实现定时启动流程。相信该问题也困扰了一大部分人,客户购买后觉得不是自己想要的,销售这边也在苦恼,技术也在寻找解决方案。 然而,很高兴的要向大家分享... 阅读详情

相关推荐

RPA for Python离线用法(解决卡在init的办法)

文章目录前言方法一 使用pack()(需要有个能科学上网的电脑)方法二 彻底自己搞(如果你没办法科学上网的话)友情提示步骤总结具体步骤1.安装python依赖包2.下载TagUIinit后记 前言 这两天遇到很多无脑重复操作要做,正好这两天比较有空一些,正好来研究一些RPA。 RPA行业内这几年经常提到这个概念,但是感觉大部分还是噱头。如果没有一套完整的可视化编辑方案,方便电脑小白自己编辑脚本,那这东西有啥实质性的改变吗?不过还是按键精灵和爬虫技术的“再包装”和“再就业”罢了。 技术选型啥的我就不说了,我盯

llsixly 6589

openRPA开源项目源码编译

最近接触到了一个新的领域——RPA,RPA全称Robotic Process Automation,中文名为机器人流程自动化。RPA可以视作一个数字机器人,它可以通过程序来模拟人与软件系统的交互过程,代替人工将大量重复、有规则的计算机操作自动化,以非侵入式(即不对原来的程序和系统进行二次开发)部署,打通不同系统之间的数据孤岛。RPA目前已成为一项关键技术,它在提升工作效率和降低成本方面扮演着重要角色。通过减少业务流程中的错误、处理时间、开支以及不必要的操作,我们能够显著优化系统的工作流。

qq_38694388的博客 8319

Selenium获取网页元素屏幕坐标:实现跨应用桌面自动化的关键技术

在Web自动化测试与机器人流程自动化(RPA)领域,元素定位是基础操作,通常通过ID、XPath等选择器实现DOM交互。然而,当需要连接Web应用与操作系统桌面环境时,仅靠DOM定位无法满足需求,此时需要将浏览器内的相对坐标映射到屏幕绝对坐标。其核心原理涉及浏览器三层坐标系(文档、视口、窗口)与屏幕坐标系的转换,通过计算浏览器窗口位置与内部偏移量实现精准映射。这项技术的价值在于支持跨应用桌面级自动化联动、基于图像识别的混合测试等高阶场景,例如在RPA流程中操作本地文件选择器或与桌面通知交互。本文针对Sele

weixin_28835583的博客 313

6个最受欢迎的开源RPA平台

目前已经有一些开源 RPA,我们将展示排名前 6 位的 RPA 及其源代码。请注意,生态系统仍然相对不成熟。但是,随着 RPA 技术的商品化,越来越多的供应商正在提供类似的解决方案。而且由于开源是透明且免费的,它可以在 RPA 的未来中发挥重要作用。

新缸中之脑 1万+

桌面Agent开发指南:从原理到实践的智能助手构建教程

桌面Agent作为一种运行在个人电脑上的自动化程序,其核心原理基于分层架构设计,包括感知层、决策层、执行层和反馈层。这种技术通过自然语言交互和上下文感知能力,将用户指令转化为具体的计算机操作序列,显著提升了工作效率。在工程实践中,桌面Agent的技术价值体现在自动化处理重复性任务,如文件整理、数据备份和邮件发送等场景。通过Python生态中的关键库如pyautogui和selenium,开发者可以构建具备多任务协同和学习能力的智能助手。文件管理和定时任务调度是桌面Agent的典型应用,本文以自然语言处理和自

weixin_29057065的博客 291

告别手动操作!用Python控制微信自动发送消息的5种方法对比

本文深入对比了五种使用Python实现微信自动发送消息的技术方案,包括PyWin32窗口操作、UIAutomation、已失效的ItChat、高风险的Hook技术以及商业化RPA工具集成。重点分析了基于PyWin32和UIAutomation的GUI自动化与RPA方案的现代实践,为开发者提供了从个人脚本到企业级应用的选型指南,并强调了自动化方案的稳定性与维护性考量。

weixin_29038155的博客 436

用java做rpa_桌面自动化实现原理-RPA+

RPA产品实现自动化从类型上大致可以分为桌面应用/浏览器应用/其它(Mainframe/Java等),本文将分析RPA或者自动化类工具实现桌面应用自动化的原理。不管使用什么技术来执行自动化至少都得包含如下几个要素:找找元素、控件、输入框、等等想找的内容读读取文本,状态,位置,是否勾选等等控单击、双击、输入内容、下拉等操作属于控制的范畴Win32API:Windows API是微软在Windows操...

weixin_34473897的博客 3818

GUI智能体原生记忆机制:从Mem-W原理到自动化实战

在软件自动化与RPA领域,GUI智能体的核心挑战在于缺乏持续记忆能力,导致每次交互都需重新解析界面。记忆机制通过编码历史交互状态,使智能体能够复用经验,提升任务执行效率。其技术价值在于实现从“即时感知-决策”到“记忆增强决策”的范式迁移,通过语义记忆检索减少重复探索。应用场景涵盖桌面自动化、软件测试、批量数据处理等重复性GUI操作任务。本文聚焦Mem-W(Latent Memory-Native GUI Agents)设计范式,探讨如何通过Memory Tokens对交互语义进行抽象编码,并利用Embedd

weixin_29895109的博客 233

自动量程万用表的实现原理_桌面自动化实现原理-RPA+

RPA产品实现自动化从类型上大致可以分为桌面应用/浏览器应用/其它(Mainframe/Java等),本文将分析RPA或者自动化类工具实现桌面应用自动化的原理。不管使用什么技术来执行自动化至少都得包含如下几个要素:找找元素、控件、输入框、等等想找的内容读读取文本,状态,位置,是否勾选等等控单击、双击、输入内容、下拉等操作属于控制的范畴Win32API:Windows API是微软在Windows操...

weixin_30983209的博客 587

C#实战:用Windows API操控记事本自动输入文字(附完整代码)

本文详细介绍了如何利用C#调用Windows API实现跨进程自动化,以操控记事本自动输入文字为例。通过FindWindow和FindWindowEx函数精准定位窗口与编辑框句柄,并使用SendMessage发送WM_SETTEXT消息直接设置文本,提供了完整的代码示例和健壮的调试技巧,适用于自动化测试和RPA工具开发。

weixin_29014939的博客 229

【软件逆向】带壳带反调试找flag教程(VMProtect3.0+X64dbg+ScyllaHide)

【软件逆向】带壳带反调试找flag教程(VMProtect 3.0+X64dbg+ScyllaHide)

zhangjiuding的博客 7509

Robocorp RPA Framework技术实现深度解析:企业级自动化架构与实战指南

Robocorp RPA Framework是一个基于Python的企业级机器人流程自动化框架,专为技术决策者和开发人员设计。该框架提供了一套完整的RPA解决方案,支持与Robot Framework无缝集成,同时也可作为独立的Python库使用。主要适用于以下技术场景: - **企业办公自动化**:发票处理、数据提取、文档管理 - **跨系统集成**:ERP、CRM、数据库系统间的数据流转 -

gitblog_00623的博客 531

Zemax 中的 LED 阵列模型

这些光线是所有光线的子集,用于布局可视化,而不是详细分析。X 和 Y 散度(αx 和 αy)以度为单位,以不同的方式设置为 6 度和 12 度。每个 LED 都以朗伯模式(广角分布)发光,尽管有些 LED 具有内置光学元件,用于更窄或更聚焦的光束。,具体取决于这些类别中使用的半导体材料。LED 阵列由多个发光二极管 (LED) 组成,这些二极管以特定模式或配置排列,以实现均匀照明、更高强度或特定照明特性。如果数据的存在更改为“辐射强度”,则它以弧度为单位显示每个立体角的功率,作为探测器上入射角的函数。

jkh920184196的博客 1595

Windows桌面自动化:基于计算机视觉的RPA工具原理与实践

计算机视觉作为人工智能的重要分支,其核心原理是让机器通过图像处理与模式识别技术来“看懂”并理解视觉信息。在工程实践中,结合光学字符识别(OCR)与图像匹配算法,计算机视觉能够精准定位和识别屏幕上的UI元素,如按钮、文本框等。这一技术为机器人流程自动化(RPA)提供了强大的底层支持,使其不再局限于预定义的API接口,而是能通过模拟人类视觉与交互,实现对任意桌面软件的操作自动化。其核心价值在于打通了与“黑盒”或无接口软件的交互通道,广泛应用于软件测试、数据采集、办公自动化等场景。本文探讨的windows-vis

weixin_30530939的博客 1527

ANSYS Workbench瞬态结构分析(1)时域分析

本文围绕瞬态结构分析展开。首先阐释其概念与理论基础,涵盖控制方程及数值求解方法。接着详述在 ANSYS Workbench 中进行瞬态分析的操作流程,以音叉为例,介绍从创建分析系统、材料定义、几何处理与网格划分,到边界条件与载荷设置、求解器设置及结果后处理的各步骤。之后对分析结果进行探讨,并针对计算不收敛、计算时间过长等常见问题给出调试技巧,旨在为读者提供全面的瞬态结构分析知识与实践指导。

qq_58675332的博客 6529

WPF MVVM实战:构建可绑定的RichTextBox富文本编辑器

本文详细介绍了如何在WPF MVVM模式下构建可绑定的RichTextBox富文本编辑器,解决标准RichTextBox.Document属性不支持数据绑定的问题。通过创建自定义BindableRichTextBox控件,实现FlowDocument的绑定支持,并分享插入图片、文本格式控制等实战技巧,帮助开发者高效开发富文本编辑功能。

weixin_33717117的博客 305

影刀RPA核心四组件实战:软件、鼠标、键盘与图像自动化从入门到精通

机器人流程自动化(RPA)是一种模拟人类在计算机界面交互的技术,其核心原理是通过软件机器人自动执行规则明确、重复性高的任务。这项技术的价值在于将人力从繁琐的“软件、鼠标、键盘和图像”操作中解放出来,显著提升办公与数据处理效率,广泛应用于财务对账、数据录入、报表生成等业务场景。本文以影刀RPA为例,深入剖析构成自动化流程骨架的这四大基础操作组件,通过实战案例详解其组合应用与避坑指南,帮助你快速构建稳定的桌面自动化流程,解决日常工作中的重复劳动问题。

weixin_30780649的博客 402

后仿之 SDF优先级和相关概念

综上:在后仿中,工具(vcs)看起来对于negative interconnect的处理如下:a. 查看此negative INTERCONNECT语句所对应的destination cell中是否有PORT语句:b. 如果PORT delay的值大于等于INTERCONNECT的绝对值,就从PORT中消耗掉对应的负值。c. 如果PORT delay不够用,就查看destination cell中是否有IOPATH或DEVICEm有IOPATH或DEVICE,并且够用(任意一种够用就行),就消耗掉。

qq_24434431的博客 1108

OpenClaw桌面自动化实战:基于图像识别的RPA框架从入门到项目应用

桌面自动化是软件测试和机器人流程自动化(RPA)领域的核心技术,旨在通过程序模拟用户操作,替代重复性人工任务。其核心原理在于识别界面元素并触发相应事件,传统方法依赖于应用程序的底层控件结构,但在处理老旧系统、非标准界面或桌面客户端时往往失效。此时,基于图像识别的自动化技术展现出独特价值,它通过计算机视觉算法直接匹配屏幕图像,不依赖程序内部接口,从而实现了极强的通用性和适应性。OpenClaw正是这一技术路线的典型代表,它结合了OpenCV的图像处理能力和PyAutoGUI的输入模拟功能,为测试工程师和开发者

weixin_34279184的博客 389

22、忆阻器、忆阻系统及其神经形态应用综述

本文综述了忆阻器与忆阻系统的理论基础及其在神经形态系统中的广泛应用。从忆阻器的基本定义出发,介绍了其在非线性电路、存储技术、通信和神经形态计算等领域的应用潜力。重点探讨了基于忆阻器的神经元模型(如Hodgkin-Huxley、FitzHugh-Nagumo和Hindmarsh-Rose模型)、突触实现方式及多种忆阻神经网络架构,包括细胞神经网络、脉冲神经网络和递归神经网络等。此外,深入分析了忆阻器在水库计算中的理论研究与硬件实现进展,展示了其在时间序列处理、模式识别和信号预测等方面的优异性能。尽管忆阻技术前

kiwi8的博客 207

【通信协议】GATT 与 BLE HID 工作原理详解

详细介绍BLE HID 跟GATT工作原理与两者的交互关系

以实战经验介绍行业知识 843

Open-AutoGLM能操控你的桌面吗?99%的人都不知道的系统级自动化秘密

Open-AutoGLM可以操作电脑桌面吗?答案是肯定的。它通过系统级自动化技术实现桌面应用控制、文件管理与多软件联动,适用于批量处理、智能办公等场景,提升效率高达90%。无需编程基础,一键触发复杂操作,值得收藏。

CompiGlow的博客 767

评估篇| 大模型评测综述

1、基于人类的评测。与针对基础大语言模型的自动化评测不同,微调大语言模型的评测更加注重模型在实际应用场景中的表现,如与人类交互的自然度、对齐度等。2、基于模型的评测。例如,AlpacaEval 排行榜 基于由大语言模型合成的人类需求指令作为评测任务,然后收集待评估大模型的回应,并采用 GPT-4 等大语言模型作为评测员,将待评估大语言模型的输出与参考输出进行成对比较。1、大语言模型对评估设置极为敏感,包括问题的表述方式、提示样本的选择以及答案的解析策略等,这些细微的差别都可能导致评估结果的显著变化。

youbingchen的博客 636

RPA在企业微信桌面端的元素识别:基于坐标与基于属性的优劣对比

在企业微信桌面端,由于其非标准Web或传统WinForm界面,元素识别面临挑战。这个大纲聚焦于RPA开发中最基础也是最核心的“元素定位”技术,通过对比两种方法,指导开发者进行合理的策略选择。尝试寻找 $ControlType=ListItem$ 且 $Name$ 属性包含目标群名的元素。属性识别的查找效率(基于内存中的UI Tree)通常远高于图像匹配(基于像素比较)。(如Windows的$UI\ Automation$ - UIA),获取并锁定元素的。,易受到屏幕分辨率、窗口大小和元素位置微调的影响。

2501_94198205的博客 777

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

基于视觉的桌面智能体:从原理到实践,打造你的数字员工

桌面自动化技术旨在通过程序模拟人类操作,自动执行重复性计算机任务,从而提升工作效率并减少人为错误。其核心原理在于让程序能够感知屏幕状态、理解界面元素并执行相应操作。传统方法依赖于固定的屏幕坐标或软件内部API,缺乏灵活性和泛化能力。随着多模态大模型和计算机视觉技术的发展,基于视觉理解的智能体方案应运而生,它通过“感知-思考-行动”的循环,实现了更通用、更健壮的自动化。这种技术的核心价值在于其不依赖于特定软件的底层接口,仅通过“视觉”这一通用通道,便能操作各类桌面应用、Web界面甚至游戏,极大地扩展了自动化场

weixin_30908941的博客 307

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于OpenCV的屏幕找图与目标状态判断自动化实践

图像识别与计算机视觉技术通过算法让计算机能够“看懂”图像内容,其核心原理包括特征提取、模式匹配和像素分析。在工程实践中,这项技术能极大提升自动化效率,广泛应用于自动化测试、游戏脚本和机器人流程自动化(RPA)等领域。具体到GUI自动化场景,通过模板匹配算法可以在屏幕上精准定位目标图标或按钮,再结合颜色分析和轮廓检测等技术,能够智能判断目标是否处于选中或高亮状态,从而实现无需API接口的界面自动化操作。本文聚焦于使用OpenCV和Python实现一套完整的“找图判断选中目标”解决方案,涵盖从环境搭建、核心代码

weixin_30247781的博客 332

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

上一篇: RPA是什么?你们公司部署的可能只是桌面自动化
下一篇: RPA创业公司FortressIQ融资3000万美元
RPAPlus
博客等级 码龄11年 122粉丝 66原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值