基于uibot知网文论采集机器人设计与实现

摘要

人工智能技术的不断更新迭代为财务数据自动化处理带来了新的机遇和挑战,如何通过人工智能等新兴技术来优化现有的财务流程, 创造更多的企业价值,成为财务信息自动化处理是目前的重点研究方向。机器人流 程自动化作为一种新型的自动化技术,能够实现业务流程的自动化, 提升财务共享的效率,在财务共享中心向数字化转型的过程中发挥着 重要的推动作用,而如何对机器人流程自动化的应用效果进行评价对 企业而言也是十分重要。

本次以UiBot平台进行知网论文自动化下载机器人设计来了解并学习人工智能技术

目录

1 背景. 3

1.1 UIBot介绍. 3

1.2 研究背景. 3

1.3 研究意义. 3

2 机器人设计. 3

2.1 设计要求. 3

2.2 设计思路. 4

2.3 设计流程图. 4

3 论文下载机器人实现. 5

3.1 机器人实现. 5

3.2 实现代码. 5

3.3 机器人测试. 7

4 分析总结. 8

4.1 设计过程遇到的问题. 8

4.2  财务机器人的实际应用. 8

4.3 总结. 9

1 背景

1.1 UIBot介绍

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 设计要求

  1. 使用UiBot平台设计一个机器人,能够实现批量下载知网指定关键词或者指定主题的文献,一次最少下载5篇。
  2. 指定期刊下载:指定财会月刊、财会通讯和会计之友三大期刊。

2.2 设计思路

为了实现批量下载知网指定关键词或指定主题的文献,并一次下载至少5篇文献的功能,我们可以使用Uibot来设计一个机器人。首先,我们需要了解中国知网(CNKI)的网站结构和文献下载规则。然后,我们可以利用Uibot的浏览器功能模拟人工操作,自动搜索、筛选并下载符合要求的文献。

具体步骤如下:

连接知网:使用Uibot的浏览器功能,模拟人工操作打开中国知网(CNKI)的网站。

输入关键词或主题:在搜索框中输入需要搜索的关键词或主题,以获取相关的文献搜索结果。

搜索文献:点击搜索按钮,获取与关键词或主题相关的文献搜索结果。

筛选文献:根据设定的筛选条件,从搜索结果中筛选出符合要求的文献。可以按照相关性、发表时间、被引次数等指标进行筛选。

下载文献:对于符合要求的每一篇文献,使用Uibot的下载功能,自动下载它们的PDF格式。可以设置每次操作至少下载5篇文献。

整理和存储文献:将下载的文献进行整理和分类,以便后续的分析和处理。可以将它们按照标题、作者、出版日期等属性进行存储。

可视化和报告生成:通过Uibot的可视化功能,将下载的文献进行展示和报告生成。可以包括对下载文献的概括和分析等内容。

2.3 设计流程图

descript

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 设计过程遇到的问题

  1. 元素定位问题:
  1. 元素定位失败:有时候,UiBot无法准确地找到要操作的元素,这可能是由于元素的位置、名称、ID等属性发生了变化。
  2. 元素定位不稳定:有时候,同一个元素在不同时间或不同环境中定位结果不稳定,时好时坏。
  3. 元素定位方法不适用:有时候,使用某种定位方法无法找到元素,需要尝试其他定位方法。
  1. 等待问题:
  1. 等待时间设置不合理:在UiBot中,需要设置适当的等待时间来等待页面加载或元素显示。如果等待时间设置得过短,可能会导致机器人操作太快,页面还未完全加载就进行了操作。如果等待时间设置得过长,则会导致测试过程缓慢。
  2. 等待条件设置不合理:在等待过程中,需要设置合适的等待条件来判断页面是否已经加载完成或元素是否已经显示。如果等待条件设置得不合理,可能会导致机器人误判或长时间等待。
  3. 等待策略不适用:在某些情况下,需要使用不同的等待策略来处理不同的页面或元素加载情况。如果使用不合适的等待策略,可能会影响测试的准确性和效率
    1. 财务机器人的实际应用

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软件和相关依赖库,配置测试数据和测试场景等。

    编写测试用例:根据需求分析的结果,编写测试用例和场景。测试用例应该覆盖所有的测试需求和场景,包括正常情况和异常情况。同时还需要考虑测试的数据、测试的步骤、预期的结果等。编写测试用例的过程应该遵循良好的编程习惯和规范,提高代码的可读性和可维护性。

    运行测试用例:在编写完测试用例之后,需要运行测试用例并收集测试结果。测试结果应该包括通过率、失败原因、日志等信息。如果测试失败,需要进行调试和优化,直到测试通过为止。同时还需要对测试结果进行分析和总结,发现和改进潜在的问题和风险。

    调试和优化:在测试过程中,可能会出现一些异常情况和错误,需要进行调试和优化。调试可以通过添加日志、断点等方式来进行,优化则可以通过修改代码、调整配置、增加数据处理等方式来进行。同时还需要对测试过程进行监控和管理,保证测试的准确性和稳定性。

    发布和维护:在完成测试之后,可以将测试通过的机器人发布到生产环境中。同时还需要对机器人进行定期的维护和更新,保证机器人的稳定性和可靠性。同时还需要对机器人的文档进行维护和管理,包括使用说明、配置说明等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/823646.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot项目部署及多环境

1、多环境 2、项目部署上线 原始前端 / 后端项目宝塔Linux容器容器平台 3、前后端联调 4、项目扩展和规划 多环境 程序员鱼皮-参考文章 本地开发&#xff1a;localhost&#xff08;127.0.0.1&#xff09; 多环境&#xff1a;指同一套项目代码在把不同的阶段需要根据实际…

三个故事,谈谈小米汽车技术发布会

都说新年新气象&#xff0c;随着年末消费旺季到来&#xff0c;汽车市场越来越热闹了。 继蔚来12月23日公布旗舰车型ET9&#xff0c;华为26日发布问界M9&#xff0c;小米汽车首款量产车型SU7终于正式亮相。 12月28日&#xff0c;在小米汽车技术发布会上&#xff0c;小米创办人…

【STM32】STM32学习笔记-TIM输出比较(15)

00. 目录 文章目录 00. 目录01. 输出比较简介02. PWM简介03. 输出比较通道(高级)04. 输出比较通道(通用)05. 输出比较模式06. PWM基本结构07. PWM参数计算08. 舵机简介09. 舵机硬件电路10. 直流电机及驱动简介11. 直流电机硬件电路12. 附录 01. 输出比较简介 OC&#xff08;Ou…

paypal实操常见问题——绑卡篇

1、绑美金提款卡的时候卡号类型怎么选&#xff1f; PayPal在绑定美金提现卡的时候&#xff0c;页面里会出来两个选项&#xff0c;一个是“关联借记卡或信用卡”&#xff0c;一个是“关联银行账户” “关联借记卡或信用卡”这个选项是消费的时候用来付款的卡&#xff1b; “关…

如何使用ArcGIS Pro自动矢量化建筑

相信你在使用ArcGIS Pro的时候已经发现了一个问题&#xff0c;那就是ArcGIS Pro没有ArcScan&#xff0c;在ArcGIS Pro中&#xff0c;Esri确实已经移除了ArcScan&#xff0c;没有了ArcScan我们如何自动矢量化地图&#xff0c;从地图中提取建筑等要素呢&#xff0c;这里为大家介绍…

验证 Mixtral-8x7B-Instruct-v0.1 和 LangChain SQLDatabaseToolkit 的集成效果

验证 Mixtral-8x7B-Instruct-v0.1 和 LangChain SQLDatabaseToolkit 的集成效果 0. 背景1. 验证环境说明2. 验证开始2-1. 准备测试数据库2-2. 读取环境配置信息2-3. 导入依赖包2-3. 创建 SQLDatabaseToolkit 对象和 AgentExecutor 对象2-4. 第1个测试 - 描述一个表2-5. 第2个测…

【动态规划精选题目】3、简单多状态模型

此动态规划系列主要讲解大约10个系列【后续持续更新】 本篇讲解简单多状态模型中的9道经典题&#xff0c;会在讲解题目同时给出AC代码 目录 1、按摩师 2、力扣198:打家劫舍1 3、打家劫舍II 4、删除并获得点数 5、 粉刷房子 6、力扣309:买卖股票的最佳时机含冷冻期 7、 买…

Spring-4-代理

前面提到过&#xff0c;在Spring中有两种类型的代理&#xff1a;使用JDK Proxy类创建的JDK代理以及使用CGLIB Enhancer类创建的基于CGLIB的代理。 你可能想知道这两种代理之间有什么区别&#xff0c;以及为什么 Spring需要两种代理类型。 在本节中&#xff0c;将详细研究代理…

基于策略模式和简单工厂模式实现zip、tar、rar、7z四种压缩文件格式的解压

推荐语 这篇技术文章深入探讨了基于策略模式和简单工厂模式实现四种常见压缩文件格式的解压方法。通过阅读该文章&#xff0c;你将了解到如何利用这两种设计模式来实现灵活、可扩展的解压功能&#xff0c;同时适应不同的压缩文件格式。如果你对设计模式和文件处理感兴趣或刚好…

【JavaEE进阶】 @RequestMapping注解

文章目录 &#x1f384;什么是RequestMapping 注解&#x1f333;RequestMapping 使⽤&#x1f332;RequestMapping 是GET还是POST请求&#xff1f;&#x1f6a9;使用Postman构造POST请求 ⭕总结 &#x1f384;什么是RequestMapping 注解 在Spring MVC 中使⽤ RequestMapping 来…

基于Mapify的在线艺术地图设计

地图是传递空间信息的有效载体&#xff0c;更加美观、生动的地图产品也是我们追求目标。 那么&#xff0c;我们如何才能制出如下图所示这样一幅艺术性较高的地图呢&#xff1f;今天我们来一探究竟吧&#xff01; 按照惯例&#xff0c;现将网址给出&#xff1a; https://www.m…

PathWave Device Modeling (IC-CAP) 建模系统——IC-CAP概述

建模系统 PathWave Device Modeling&#xff08;IC-CAP&#xff09;建模系统用于测量半导体器件并分析器件的电路建模特性以及分析所得数据。 要使用PathWave Device Modeling&#xff08;IC-CAP&#xff09;&#xff0c;您需要以下设置&#xff1a; 一台工作站执行直流、电…

【rosbag】rosbag命令--查看提取bag中的内容

1.查看消息 rosbag info --.bag topics是其中的话题内容&#xff0c;/imu中只写了包含imu的数据&#xff0c;但是imu是9轴的&#xff0c;到底磁力计信息是否包含在其中呢&#xff1f; 2.将bag中的某个话题转为txt 将file_name.bag文件中topic_name话题的消息转换到Txt_name.…

java中的缓冲类HeapByteBuffer和DirectByteBuffer的区别

使用之前写的文章里的例子 https://blog.csdn.net/zlpzlpzyd/article/details/135292683 HeapByteBuffer import java.io.File; import java.io.FileInputStream; import java.io.Serializable; import java.nio.ByteBuffer; import java.nio.channels.FileChannel;public clas…

Linux升级指南:保持系统安全和高效运行

Linux系统的升级是确保系统稳定和安全性的重要步骤。本文将介绍Linux系统升级的基本概念&#xff0c;以及具体的操作步骤和注意事项&#xff0c;以帮助用户顺利升级他们的Linux系统。 Linux操作系统以其稳定性和可定制性而闻名&#xff0c;它经常通过升级来提供新的功能、修复漏…

【论文笔记】Radar Fields: An Extension of Radiance Fields to SAR

原文链接&#xff1a;https://arxiv.org/abs/2312.12961 1. 引言 本文针对合成孔径雷达&#xff08;SAR&#xff09;的3D重建&#xff0c;提出雷达场&#xff0c;基于多个SAR对场景的测量学习体积模型。 3. 辐射场的介绍 NeRF将静态场景表达为连续的体积函数 F \mathcal{F}…

服装店收银系统 助力完善线上线下方案

一个服装店收银系统可以助力完善线上线下方案&#xff0c;提供以下功能和优势&#xff1a; 1. 销售管理&#xff1a;收银系统可以记录每笔销售订单的详细信息&#xff0c;包括商品名称、价格、数量等&#xff0c;方便店主进行销售统计和分析。 2. 库存管理&#xff1a;收银系统…

Android 理解Context

文章目录 Android 理解ContextContext是什么Activity能直接new吗&#xff1f; Context结构和源码一个程序有几个ContextContext的作用Context作用域获取ContextgetApplication()和getApplicationContext()区别Context引起的内存泄露错误的单例模式View持有Activity应用正确使用…

【C语言】数据结构——带头双链表实例探究

&#x1f497;个人主页&#x1f497; ⭐个人专栏——数据结构学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读&#xff1a;1. 双链表结构特征2. 实现双向循环链表2.1 定义结构体2.2 创造节点2.3 双向链表初始化2.4 双向链表打印2…

【数据库系统概论】第7章-数据库设计

文章目录 7.1 数据库设计概述7.2 需求分析7.2.1 需求分析的任务7.2.2 需求分析的难点7.2.2 需求分析的方法7.2.3 数据字典 7.3 概念结构设计7.3.1 概念模型7.3.2 E-R模型7.3.3 概念结构设计 7.4 逻辑结构设计7.4.1 E-R图向关系模型的转换7.4.2 数据模型的优化7.4.3 设计用户子模…