基于uibot知网文论采集机器人设计与实现
摘要
人工智能技术的不断更新迭代为财务数据自动化处理带来了新的机遇和挑战,如何通过人工智能等新兴技术来优化现有的财务流程, 创造更多的企业价值,成为财务信息自动化处理是目前的重点研究方向。机器人流 程自动化作为一种新型的自动化技术,能够实现业务流程的自动化, 提升财务共享的效率,在财务共享中心向数字化转型的过程中发挥着 重要的推动作用,而如何对机器人流程自动化的应用效果进行评价对 企业而言也是十分重要。
本次以UiBot平台进行知网论文自动化下载机器人设计来了解并学习人工智能技术
目录
1 背景
UiBot是一家机器人流程自动化服务平台,其产品包含创造者、劳动者、指挥官三大模,用户可通过平台一键录制流程并自动生成机器人,支持可视化编程与专业模式、浏览器、桌面、SAP等多种控件抓取以及C、Lua、Python、.Net 扩展插件及第三方SDK接入,还可对业务与权限进行实时监控调整。异行星低代码平台
1.2 研究背景
随着大数据时代的到来,越来越多的领域在智能化背景下得到不断的 优化提升,业务流程逐渐实现标准化与自动化。不仅可以利用财务共享中心实现 统一核算,也能够通过数智化转型优化财务信息系统,实现各类信息系统的集成, 助力企业管理模式的创新。机器人流程自动化(Robotic Process Automation,简称:RPA)是通过执行编 写的脚本,来减少人力工作,实现流程自动化的软件。RPA 的应用可以实现业 务流程自动化。德勤会计师事务所在 2017 年推出的财务机器人及流程自动化解 决方案标志着我国机器人流程自动化应用的开始,企业逐渐开始利用信息技术解 决问题并优化业务流程,与此同时降低企业财务管理成本。
1.3 研究意义
国外对于RPA的研究起源更早,已形成了相对完善RPA应用生态环境。相对于我国关于RPA软件流程机器人研究实际和应用时间比较短,通过对国内外文献进行研 究分析发现,关于RPA的研究及将RPA进行实际的业务场景应用的案例研究很多,大多聚焦 于利用财务共享对企业财务管理进行改革,但是将 RPA 与财务共享服务相结合 的研究相对欠缺,对 RPA 在财务共享中心的应用效果评价体系研究领域基本空白。因此本文在学习使用UiBot机器人如何进行可视化机器人开发的同时,并进行与知网文献自动化下载机器人进行实践操作。加强对UiBot的立即并加深RPA技术在财务机器人领域的应用。
2 机器人设计
2.1 设计要求
- 使用UiBot平台设计一个机器人,能够实现批量下载知网指定关键词或者指定主题的文献,一次最少下载5篇。
- 指定期刊下载:指定财会月刊、财会通讯和会计之友三大期刊。
2.2 设计思路
为了实现批量下载知网指定关键词或指定主题的文献,并一次下载至少5篇文献的功能,我们可以使用Uibot来设计一个机器人。首先,我们需要了解中国知网(CNKI)的网站结构和文献下载规则。然后,我们可以利用Uibot的浏览器功能模拟人工操作,自动搜索、筛选并下载符合要求的文献。
具体步骤如下:
连接知网:使用Uibot的浏览器功能,模拟人工操作打开中国知网(CNKI)的网站。
输入关键词或主题:在搜索框中输入需要搜索的关键词或主题,以获取相关的文献搜索结果。
搜索文献:点击搜索按钮,获取与关键词或主题相关的文献搜索结果。
筛选文献:根据设定的筛选条件,从搜索结果中筛选出符合要求的文献。可以按照相关性、发表时间、被引次数等指标进行筛选。
下载文献:对于符合要求的每一篇文献,使用Uibot的下载功能,自动下载它们的PDF格式。可以设置每次操作至少下载5篇文献。
整理和存储文献:将下载的文献进行整理和分类,以便后续的分析和处理。可以将它们按照标题、作者、出版日期等属性进行存储。
可视化和报告生成:通过Uibot的可视化功能,将下载的文献进行展示和报告生成。可以包括对下载文献的概括和分析等内容。
2.3 设计流程图
3 论文下载机器人实现
3.1 机器人实现
使用uibot控制浏览器进行元素定位检索关键词来源进行排序下载
3.2 实现代码
Dim hWeb,iRet,bRet
hWeb = WebBrowser.Create("uibotbrowser","about:blank",30000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200,"sBrowserPath":"","sStartArgs":""})
iRet = WebBrowser.GoURL(hWeb,"https://www.cnki.net/",true,{},30000,{"bContinueOnError":false,"iDelayAfter":300,"iDelayBefore":200})
Delay(9000)
Mouse.Action(@ui"链接<a>_高级检索3","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(9000)
Mouse.Action(@ui"输入控件<input>14","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Keyboard.InputText(@ui"输入控件<input>14","财务",true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})
Mouse.Action(@ui"输入控件<input>15","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Keyboard.InputText(@ui"输入控件<input>15","财会月刊",true,20,10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 500, "bSetForeground": true, "sSimulate": "message", "bValidate": false, "bClickBeforeInput": false})
Mouse.Action(@ui"按钮<buttoninput>_检索2","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Mouse.Action(@ui"列表项<li>_发表时间","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(1000)
Mouse.Action(@ui"列表项<li>_下载","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(9000)
Mouse.Action(@ui"文本<i>2","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(1000)
Mouse.Action(@ui"文本<i>8","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(1000)
Mouse.Action(@ui"文本<i>4","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(1000)
Mouse.Action(@ui"文本<i>5","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(1000)
Mouse.Action(@ui"文本<i>6","left","click",10000,{"bContinueOnError": false, "iDelayAfter": 300, "iDelayBefore": 200, "bSetForeground": true, "sCursorPosition": "Center", "iCursorOffsetX": 0, "iCursorOffsetY": 0, "sKeyModifiers": [],"sSimulate": "simulate", "bMoveSmoothly": false})
Delay(9000)
Delay(9999000)
3.3 机器人测试
打开UiBot creator软件,进入机器人测试界面。
选择要测试的机器人项目,并点击“运行”按钮。
在运行界面中,可以选择要运行的测试用例和测试场景,并设置相关的参数和配置。
点击“开始”按钮,机器人将按照预设的脚本执行测试操作。
在测试过程中,可以实时查看测试结果和日志,了解机器人是否正常工作,以及是否出现了预期的输出结果。
4 分析总结
4.1 设计过程遇到的问题
- 元素定位问题:
- 元素定位失败:有时候,UiBot无法准确地找到要操作的元素,这可能是由于元素的位置、名称、ID等属性发生了变化。
- 元素定位不稳定:有时候,同一个元素在不同时间或不同环境中定位结果不稳定,时好时坏。
- 元素定位方法不适用:有时候,使用某种定位方法无法找到元素,需要尝试其他定位方法。
- 等待问题:
- 等待时间设置不合理:在UiBot中,需要设置适当的等待时间来等待页面加载或元素显示。如果等待时间设置得过短,可能会导致机器人操作太快,页面还未完全加载就进行了操作。如果等待时间设置得过长,则会导致测试过程缓慢。
- 等待条件设置不合理:在等待过程中,需要设置合适的等待条件来判断页面是否已经加载完成或元素是否已经显示。如果等待条件设置得不合理,可能会导致机器人误判或长时间等待。
- 等待策略不适用:在某些情况下,需要使用不同的等待策略来处理不同的页面或元素加载情况。如果使用不合适的等待策略,可能会影响测试的准确性和效率。
1、发票汇总验真:财务人员需要将大量发票中的代码、发票号、金额、开票日期等信息录入Excel表格中,并登录增值税发票查验平台,逐条录入发票验证信息。这个过程耗时且易出错。UiBot财务机器人可以代替人工自动完成这些操作,提高效率和准确性。
2、财务报告生成和分析:该机器人可以用于生成和分析财务报告。通过自动化处理报告中的数据和信息,可以更快地了解公司的财务状况和经营业绩。此外,还可以进行趋势分析和预测,为决策提供支持。
3、自动化审计:在财务审计过程中,该机器人可以帮助自动化一些常规的审计流程,例如数据比对、报表生成等。这可以提高审计效率和准确性。
4.3 总结
1、元素定位
在UI自动化测试中,元素定位是非常重要的技术之一。它可以帮助我们找到页面上的元素,并对其进行操作。在uibot中,可以使用XPath或CSS选择器来进行元素定位。
??? 使用XPath定位元素
XPath是一种在XML文档中查找信息的语言,它可以用来在HTML或XML页面中查找元素。在uibot中,可以使用XPath来定位元素。例如,要定位一个id为“myId”的元素,可以使用以下代码:
driver.find_element_by_xpath("//*[@id='myId']")
??? 使用CSS选择器定位元素
CSS选择器是一种通过样式表来选择HTML元素的方法。在uibot中,可以使用CSS选择器来定位元素。例如,要定位一个class为“myClass”的元素,可以使用以下代码:
driver.find_element_by_css_selector(".myClass")
无论是使用XPath还是CSS选择器,都需要确保元素的属性值是唯一的,否则可能会出现定位不准确的情况。此外,还可以使用uibot提供的智能等待功能来等待页面加载完成,提高元素定位的准确性和稳定性。
2、开发测试流程总结
uibot机器人的开发测试流程主要包括以下几个步骤:
??? 需求分析:明确测试目标和测试需求,确定需要测试的功能和场景。这个阶段需要对被测系统进行深入的了解和分析,包括系统的功能、架构、业务流程等。同时还需要考虑测试的范围、测试的优先级以及测试的策略等。
??? 环境搭建:在开始编写测试用例之前,需要先搭建测试环境。测试环境应该与实际的生产环境保持一致,包括操作系统、浏览器、应用程序等。同时还需要安装uibot软件和相关依赖库,配置测试数据和测试场景等。
??? 编写测试用例:根据需求分析的结果,编写测试用例和场景。测试用例应该覆盖所有的测试需求和场景,包括正常情况和异常情况。同时还需要考虑测试的数据、测试的步骤、预期的结果等。编写测试用例的过程应该遵循良好的编程习惯和规范,提高代码的可读性和可维护性。
??? 运行测试用例:在编写完测试用例之后,需要运行测试用例并收集测试结果。测试结果应该包括通过率、失败原因、日志等信息。如果测试失败,需要进行调试和优化,直到测试通过为止。同时还需要对测试结果进行分析和总结,发现和改进潜在的问题和风险。
??? 调试和优化:在测试过程中,可能会出现一些异常情况和错误,需要进行调试和优化。调试可以通过添加日志、断点等方式来进行,优化则可以通过修改代码、调整配置、增加数据处理等方式来进行。同时还需要对测试过程进行监控和管理,保证测试的准确性和稳定性。
??? 发布和维护:在完成测试之后,可以将测试通过的机器人发布到生产环境中。同时还需要对机器人进行定期的维护和更新,保证机器人的稳定性和可靠性。同时还需要对机器人的文档进行维护和管理,包括使用说明、配置说明等。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!