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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#使用switch多路选择语句判断何为季节

目录 一、 switch语句 二、示例 三、生成 一、 switch语句 switch语句是多路选择语句&#xff0c;它通过一个表达式的值来使程序从多个分支中选取一个用于执行的分支。 switch表达式的值只可以是整型、字符串、枚举和布尔类型。 switch语句中多个case可以使用一个break。 在…

ubuntu下编译obs-studio遇到的问题记录

参考的是这篇文档&#xff1a;Build Instructions For Linux obsproject/obs-studio Wiki GitHub 在安装OBS dependencies时&#xff0c; sudo apt install libavcodec-dev libavdevice-dev libavfilter-dev libavformat-dev libavutil-dev libswresample-dev libswscale-d…

Vue Tinymce富文本组件添加自定义字体项

实现效果如下&#xff1a; Tinymce 组件进行字体设置 设置完后&#xff0c;就可以使用自定义的字体了。

CLion中使用C/C++ Single File Execution插件编译和运行单个文件

在开发C/C程序时&#xff0c;尽管项目通常以组织良好的结构进行管理&#xff0c;但有时我们可能只需要快速测试或运行单个C或C源文件。对于这种情况&#xff0c;JetBrains CLion IDE提供了一个便捷的解决方案——通过安装名为“C/C Single File Execution”的插件来实现对单个源…

GcExcel:DsExcel 7.0 for Java Crack

GcExcel:DsExcel 7.0-高速 Java Excel 电子表格 API 库 Document Solutions for Excel&#xff08;DsExcel&#xff0c;以前称为 GcExcel&#xff09;Java 版允许您在 Java 应用程序中以编程方式创建、编辑、导入和导出 Excel 电子表格。几乎可以部署在任何地方。 创建、加载、…

【leetcode100-025】【链表/快慢指针】环形链表

【题干】 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&a…

三子棋(c语言)

前言&#xff1a; 三子棋是一种民间传统游戏&#xff0c;又叫九宫棋、圈圈叉叉棋、一条龙、井字棋等。游戏规则是双方对战&#xff0c;双方依次在9宫格棋盘上摆放棋子&#xff0c;率先将自己的三个棋子走成一条线就视为胜利。但因棋盘太小&#xff0c;三子棋在很多时候会出现和…

Linux xxd命令分析视频文件Box教程(box分析box、视频box、分析atom分析)(xdd指令)

文章目录 Linux xxd命令分析视频文件Box教程一、理解MP4格式二、xxd命令简介三、使用xxd命令分析MP4文件四、解析MP4文件的疑难点1. Box的嵌套结构2. 长度和类型字段的字节序3. 非文本类型的数据 五、python代码解析box嵌套结构的示例 Linux xxd命令分析视频文件Box教程 本文主…

AlignBench:量身打造的中文大语言模型对齐评测

对齐&#xff08;Alignment&#xff09;&#xff0c;是指大语言模型&#xff08;LLM&#xff09;与人类意图的一致性。换言之&#xff0c;就是让LLM生成的结果更加符合人类的预期&#xff0c;包括遵循人类的指令&#xff0c;理解人类的意图&#xff0c;进而能产生有帮助的回答等…

2023博客年终总结、你好2024

2023博客年终总结、你好2024 1、2023博客年终总结2、你好2024 1、2023博客年终总结 2023写了100篇博客&#xff0c;祝愿我们的人生都能圆满达到100分。 2023行将结束&#xff0c;有幸接触了一本书 《你怎样过一天&#xff0c;就怎样过一生》 作者 七纤 2、你好2024 你好2024…

如何修改Anaconda的Jupyter notebook的默认启动路径

1.打开Anaconda控制台 2.输入下面的命令 jupyter notebook --generate-config 这个命令的作用是生成 Jupyter notebook 的配置文件。如果你是第一次运行&#xff0c;会直接生成这个文件。如果曾经运行过这个命令&#xff0c;就会像下图一样问你时候要覆盖原来的文件。这个时候…

状态模式-概述

在软件系统中&#xff0c;有些对象也像水一样具有多种状态&#xff0c;这些状态在某些情况下能够相互转换&#xff0c; 而且对象在不同的状态下也将具有不同的行为。相同的方法在不同的状态中可能会有不同的实现。 为了实现不同状态下对象的各种行为以及对象状态之间的相互转换…

PHP序列化总结3--反序列化的简单利用及案例分析

反序列化中生成对象里面的值&#xff0c;是由反序列化里面的值决定&#xff0c;与原类中预定义的值的值无关&#xff0c;穷反序列化的对象可以使用类中的变量和方法 案例分析 反序列化中的值可以覆盖原类中的值 我们创建一个对象&#xff0c;对象创建的时候触发了construct方…

Java多线程<三>常见的多线程设计模式

多线程的设计模式 两阶段线程终止 park方法 interrupted() 会让他失效。 使用volatile关键字进行改写 单例模式 双锁检测 保护性暂停 实现1&#xff1a; package threadBase.model;/*** author: Zekun Fu* date: 2022/5/29 19:01* Description:* 保护性暂停&#xff0c;* …

HarmonyOS4.0系统性深入开发09卡片使用动效能力

卡片使用动效能力 ArkTS卡片开放了使用动画效果的能力&#xff0c;支持显式动画、属性动画、组件内转场能力。需要注意的是&#xff0c;ArkTS卡片使用动画效果时具有以下限制&#xff1a; 名称参数说明限制描述duration动画播放时长限制最长的动效播放时长为1秒&#xff0c;当…

5天一更新的卫星影像数据来自哪里?

这里我们就来分享一下&#xff0c;5天一更新的卫星影像源来自哪里。 哥白尼计划 在开始讲卫星影像数据源时&#xff0c;我们先来了解一下什么是哥白尼计划。 哥白尼计划&#xff08;Copernicus Programme&#xff09;&#xff0c;又称全球环境与安全监测计划&#xff08;Glo…

用通俗易懂的方式讲解大模型:LangChain Agent 原理解析

LangChain 是一个基于 LLM&#xff08;大型语言模型&#xff09;的编程框架&#xff0c;旨在帮助开发人员使用 LLM 构建端到端的应用程序。它提供了一套工具、组件和接口&#xff0c;可以简化创建由 LLM 和聊天模型提供支持的应用程序的过程。 LangChain 由几大组件构成&#…

【前端技术】LocalForage数据存储

✨专栏介绍 在当今数字化时代&#xff0c;Web应用程序已经成为了人们生活和工作中不可或缺的一部分。而要构建出令人印象深刻且功能强大的Web应用程序&#xff0c;就需要掌握一系列前端技术。前端技术涵盖了HTML、CSS和JavaScript等核心技术&#xff0c;以及各种框架、库和工具…

pytorch01:概念、张量操作、线性回归与逻辑回归

目录 一、pytorch介绍1.1pytorch简介1.2发展历史1.3pytorch优点 二、张量简介与创建2.1什么是张量&#xff1f;2.2Tensor与Variable2.3张量的创建2.3.1 直接创建torch.tensor()2.3.2 从numpy创建tensor 2.4根据数值创建2.4.1 torch.zeros()2.4.2 torch.zeros_like()2.4.3 torch…

windTerm 连接一段时间之后自动断开

默认是关闭会话空闲保活功能的&#xff0c;如所连接的SSH服务没做连接保活&#xff0c; 就很可能超时自动断开 开启会话保活 在 会话 -> 首选项 -> Default Session Settings -> SSH -> 连接 -> 发送空包以保持会话活动 设置15&#xff0c;即15秒自动发空包保…