一种针对IE浏览器的自动化流程操作系统以及方法与流程

文档序号:31674455发布日期:2022-09-28 01:41阅读:134来源:国知局
一种针对IE浏览器的自动化流程操作系统以及方法与流程
一种针对ie浏览器的自动化流程操作系统以及方法
技术领域
1.本发明涉及rpa控制技术领域,特别涉及一种针对ie浏览器的自动化流程操作系统以及方法。


背景技术:

2.rpa(robotic process automation机器人流程自动化):是一种新型的人工智能的虚拟流程自动化机器人,能够代替或者协助人类在计算机、手机等数字设备中完成重复性工作任务。
3.目前rpa软件系统主要针对window桌面客户端程序以及主流浏览器进行自动化操作,其中主流浏览器包括谷歌浏览器、火狐浏览器、edge及ie浏览器。ie浏览器目前微软已放弃该浏览器的更新,大部分用户已不在使用ie浏览器,但政府机构医疗行业等部门以前多数使用ie浏览器作为首选开发目标,通常此类政府医疗软件旧系统升级时会面临无法对接接口、新旧系统互不连通、数据迁移难等问题,而rpa技术应用场景之一便是无缝对接目标软件系统,通过配置业务流程自动获取旧系统业务数据写入新系统中,从而解决政务部、医务部等旧系统升级数据迁移难的问题,而现有rpa通常使用基于selenium webdriver自动化测试技术操作ie浏览器,从而完成rpa系统对目标ie浏览器的自动化操作。
4.现阶段的rpa系统通过webdriver技术操作ie浏览器存在较大的局限性:
5.1)要针对不同ie版本安装对应的webdriver驱动程序,无法统一处理;
6.2)在自动化操作过程中,ie浏览器页面不能进行任何缩放;
7.3)操作前需要手动设置ie安全模式,否则无法使用;
8.4)操作32位ie浏览器进行文本输入时,效率非常低。


技术实现要素:

9.本发明旨在至少解决现有技术中存在的技术问题。为此,本发明提出一种针对ie浏览器的自动化流程操作系统以及方法,既能使模型的预测性能提高,也能提高模型的鲁棒性和泛化性。
10.第一方面,本发明的实施例提供了一种针对ie浏览器的自动化流程操作系统,包括:
11.底层模块,包括mshtml组件;
12.中间层模块,用于根据所述mshtml组件,将对ie浏览器的对象的操作或属性访问封装成api方法;
13.用户层模块,用于根据用户业务需求的步骤流程,调用相应的所述api方法封装成可配置执行的步骤,并且根据所述可配置执行的步骤对所述ie浏览器进行操作。
14.根据本发明的实施例,至少具有如下技术效果:
15.本系统的中间层模块基于mshtml组件将模拟用户对ie浏览器的对象的操作或属性访问封装成可便利调用api方法,给用户层模块提供各类用户可操作的api方法;用户层
模块将该类api方法封装成具有单一功能的可配置可执行的步骤,根据业务需求分解成的一个个步骤依次完成配置,最后通过完成的配置执行对应的操作。本系统能够解决传统rpa技术利用webdriver技术操作ie浏览器时面临的四大实质问题。而且本系统通过中间层模块一方面能够基于底层模块的mshtml组件提供的基础功能,对各类对象进行高度封装,实现各类对象的所有操作及属性访问功能,并提供用户层模块可用的便利的api调用方式;另外一方面向用户层模块屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。
16.根据本发明的一些实施例,当所述可配置执行的步骤的数量大于一个时,所述用户层模块按照所述步骤流程,将所述可配置执行的步骤按序组合于流程容器中,根据所述流程容器对所述ie浏览器进行操作。
17.根据本发明的一些实施例,所述ie浏览器的对象包括浏览器对象、网页页签对象、元素控件对象以及元素查找器对象中的一种或多种。
18.根据本发明的一些实施例,所述浏览器对象的操作或属性访问包括:启动浏览器、关闭浏览器、打开网页、关闭网页、切换页签、获取激活页签、最大化、最小化以及cookies设置获取。
19.根据本发明的一些实施例,所述网页页签对象的操作或属性访问包括:url获取、url设置、网页标题获取、设置功能、元素访问、页签关闭功能以及js脚本执行命令。
20.根据本发明的一些实施例,所述元素控件对象包括按钮控件、文本框控件、下拉框控件、日期输入框控件、列表控件以及表格控件。
21.根据本发明的一些实施例,所述元素控件对象的操作或属性访问包括:
22.点击、双击、右键点击;
23.文本获取、文本输入、文本清除;
24.当前选项值获取,选取与输入文字匹配的目标选项;
25.日期获取、日期设置;
26.列表所有文本获取;
27.表格控件所有项及表格行遍历。
28.根据本发明的一些实施例,所述元素查找器对象的操作或属性访问包括:通过坐标位置查找网页元素、通过xpath查找网页元素、通过id查找网页元素、通过css或元素属性查找网页元素、网页元素查找定位信息。
29.第二方面,本发明的实施例提供了一种针对ie浏览器的自动化流程操作方法,包括如下步骤:
30.获取用户业务需求;
31.根据所述用户业务需求分解出步骤流程,根据所述步骤流程获取模拟对ie浏览器的对象的操作或属性访问;
32.根据mshtml组件,将所述对ie浏览器的对象的操作或属性访问封装成api方法;
33.将所述api方法封装成可配置执行的步骤;
34.根据所述可配置执行的步骤对所述ie浏览器进行操作。
35.根据本发明的实施例,至少具有如下技术效果:
36.本方法的中间层模块基于mshtml组件将模拟用户对ie浏览器的对象的操作或属
性访问封装成可便利调用api方法,给用户层模块提供各类用户可操作的api方法;用户层模块将该类api方法封装成具有单一功能的可配置可执行的步骤,根据业务需求分解成的一个个步骤依次完成配置,最后通过完成的配置执行对应的操作。本方法能够解决传统rpa技术利用webdriver技术操作ie浏览器时面临的四大实质问题。而且本方法通过中间层模块一方面能够基于底层模块的mshtml组件提供的基础功能,对各类对象进行高度封装,实现各类对象的所有操作及属性访问功能,并提供用户层模块可用的便利的api调用方式;另外一方面向用户层模块屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。
37.根据本发明的一些实施例,所述根据所述可配置执行的步骤对所述ie浏览器进行操作,包括步骤:
38.当所述可配置执行的步骤大于一个时,根据所述步骤流程,将可配置执行的步骤按序组合于流程容器中;
39.根据所述流程容器对所述ie浏览器进行操作。
40.本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
41.本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
42.图1为本发明第一实施例提供的针对ie浏览器的自动化流程操作系统的结构示意图;
43.图2为本发明第二实施例提供的针对ie浏览器的自动化流程操作方法的流程示意图;
44.图3为本发明第三实施例提供的针对ie浏览器的自动化流程操作系统的结构示意图;
45.图4为本发明第三实施例提供的中间层模块调用底层模块的示意图;
46.图5为本发明第三实施例提供的将步骤组合至流程容器的示意图;
47.图6为本发明第四实施例提供的针对ie浏览器的自动化流程操作系统的流程配置和流程运行的流程示意图。
具体实施方式
48.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
49.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,限定有“第一”、“第
二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
50.在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
51.rpa是一种新型的人工智能的虚拟流程自动化机器人,能够代替或者协助人类在计算机、手机等数字设备中完成重复性工作任务。rpa除任务分配和管理的调度系统外主要包含流程设计器和流程运行器,流程设计器主要功能是根据目标软件业务逻辑处理流程涉及到每一个控件操作按序进行步骤配置,形成多个步骤组合嵌套的配置信息。流程运行器阶段通过加载对应的流程配置信息形成由步骤组合的流程对象从上往下开始执行步骤,对于需要操作目标软件界面元素(控件)步骤通常需要定位到该控件再进行相应控件操作(点击、输入、采集等)。
52.现有rpa通常使用基于selenium webdriver自动化测试技术操作ie浏览器,从而完成rpa系统对目标ie浏览器的自动化操作。但现阶段的rpa系统通过webdriver技术操作ie浏览器存在较大的局限性,例如:
53.1)要针对不同ie版本安装对应的webdriver驱动程序,无法统一处理;
54.2)在自动化操作过程中,ie浏览器页面不能进行任何缩放;
55.3)操作前需要手动设置ie安全模式,否则无法使用;
56.4)操作32位ie浏览器进行文本输入时,效率非常低。
57.第一实施例;
58.参照图1,本发明的一个实施例,提供了一种针对ie浏览器的自动化流程操作系统,包括底层模块、中间层模块以及用户层模块,其中:
59.底层模块包括mshtml组件。mshtml组件是微软发布的一个com组件,该组件提供了ie浏览器以及其网页元素的基本操作,自动化系统通过该组件的使用可实现在不侵入ie浏览器的情况下对其进行跨进程访问及操作,极大减少了ie浏览器运行环境的破坏。区别于webdriver无需安装对应浏览器版本的驱动以及安全模式设置,通过msthml实现对ie浏览器的自动化将非常适应,且无需设置安全模式,也不会受浏览器页面缩放比例影响而无法自动化操作。若合理使用,则能够解决webdriver技术操作ie浏览器时面临的四大实质问题。
60.中间层模块用于根据mshtml组件,将对ie浏览器的对象的操作或属性访问封装成api(application programming interface,应用程序接口)方法。这里的ie浏览器的对象包括但不仅限于浏览器对象、网页页签对象、元素控件对象以及元素查找器对象。
61.中间层模块视为上层用户层模块与ie浏览器之间访问通信的桥梁,中间层模块为上层的用户层模块提供所有模拟用户对ie浏览器的可操作的api方法。由于mshtml组件中提供的众多操作接口中具有较为复杂参数,不同的元素类型需要强制转换后才能进行对应类型的操作,若直接提供给用户层模块进行配置,用户层模块将面临较为复杂的配置选项以及不明朗的类型转换难题。因此中间层模块主要基于mshtml组件提供的基础功能,对各
类ie浏览器的对象进行高度封装,实现各类对象的所有操作及属性访问功能,并提供给用户层模块可用的便利的api调用方式,向用户层模块屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。
62.用户层模块用于根据用户业务需求的步骤流程,调用相应的api方法封装成可配置执行的步骤,并且根据可配置执行的步骤对ie浏览器进行操作。
63.用户层模块通过中间层模块提供的api调用方式,将该类api方法封装成具有单一功能的可配置可执行的步骤,组合步骤完成配置,最后通过完成的配置执行对应的操作。
64.因mshtml组件特性,通过mshtml组件能够对ie浏览器进行流程操作。但由于mshtml组件中提供的众多操作接口中具有较为复杂参数,不同的元素类型需要强制转换后才能进行对应类型的操作,若直接提供给用户进行配置,这将面临较为复杂的配置选项以及不明朗的类型转换难题。
65.因此,为了解决这一缺陷,本系统包括底层模块、中间层模块以及用户层模块,中间层模块视为用户层模块与ie浏览器之间访问通信的桥梁,中间层模块一方面能够基于底层模块的mshtml组件提供的基础功能,对各类对象进行高度封装,实现各类对象的所有操作及属性访问功能,并提供用户层模块可用的便利的api调用方式;另外一方面向用户层模块屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。最后,用户层模块通过中间层模块提供的便利的api调用方式,将该类api方法封装成具有单一功能的可配置可执行的步骤,组合步骤完成配置,最后通过完成的配置执行对应的操作。
66.本系统实施例具备如下有益效果:
67.本系统的中间层模块基于mshtml组件将模拟用户对ie浏览器的对象的操作或属性访问封装成可便利调用api方法,给用户层模块提供各类用户可操作的api方法;用户层模块将该类api方法封装成具有单一功能的可配置可执行的步骤,根据业务需求分解成的一个个步骤依次完成配置,最后通过完成的配置执行对应的操作。本系统能够解决传统rpa技术利用webdriver技术操作ie浏览器时面临的四大实质问题。而且本系统通过中间层模块一方面能够基于底层模块的mshtml组件提供的基础功能,对各类对象进行高度封装,实现各类对象的所有操作及属性访问功能,并提供用户层模块可用的便利的api调用方式;另外一方面向用户层模块屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。
68.第二实施例;
69.参照图1,本发明的一个实施例,提供一种针对ie浏览器的自动化流程操作方法,包括如下步骤:
70.步骤s101、获取用户业务需求。
71.步骤s102、根据用户业务需求分解出步骤流程,根据步骤流程获取模拟对ie浏览器的对象的操作或属性访问。
72.步骤s103、根据mshtml组件,将对ie浏览器的对象的操作或属性访问封装成api方法。
73.步骤s104、将api方法封装成可配置执行的步骤。
74.步骤s105、根据可配置执行的步骤对ie浏览器进行操作。
75.与第一实施例提供的系统基于相同的发明构思,此处的相关概念不再重复说明。
76.根据本发明的实施例,至少具有如下技术效果:
77.本方法基于mshtml组件将模拟用户对ie浏览器的对象的操作或属性访问封装成可便利调用api方法,这样能够提供各类用户可操作的api方法;然后用户可将该类api方法封装成具有单一功能的可配置可执行的步骤,用户可根据业务需求分解成的一个个步骤依次完成配置,最后通过完成的配置执行对应的操作。本方法能够解决传统rpa技术利用webdriver技术操作ie浏览器时面临的四大实质问题。而且本方法跳过直接利用mshtml组件操作ie浏览器,而是先基于mshtml组件将模拟用户对ie浏览器的对象的操作或属性访问封装成可便利调用api方法,这样的好处在于一方面能够通过mshtml组件提供的基础功能,对各类对象进行高度封装,实现各类对象的所有操作及属性访问功能,并提供用户可用的便利的api调用方式;另外一方面向用户屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。
78.第三实施例;
79.为了便于理解,参照图3至图5,本发明的一个实施例,提供了一种针对ie浏览器的自动化流程操作系统。本系统包括:底层模块、中间层模块以及用户层模块。本系统的实现逻辑如下所示:
80.1、底层模块;
81.底层模块包括mshtml组件。以下为mshtml基本功能介绍:1)打开、关闭ie浏览器网页;
82.2)访问网页内部元素对;
83.3)获取、设置网页元素属性;
84.4)触发网页不同网页元素的特定事件。
85.2、中间层模块;
86.中间层模块视为上层用户层模块与ie浏览器之间访问通信的桥梁,为用户层模块提供所有模拟用户对ie浏览器的可操作的api方法。由于mshtml组件中提供的众多操作接口中具有较为复杂参数,不同的元素类型需要强制转换后才能进行对应类型的操作,若直接提供给上层用户模块进行配置,用户层模块将面临较为复杂的配置选项以及平凡的不明朗的类型转换难题,因此中间层模块主要基于mshtml组件提供的基础功能,对各类对象(如浏览器对象操作、网页对象操作、元素控件对象、元素查找器对象)进行高度封装,实现各类对象的所有操作及属性访问功能,并提供用户层模块可用的便利的api调用方式,向用户层模块屏蔽mshtml组件底层接口对象获取逻辑、元素类型转换、元素属性获取设置、事件监听触发接口调用等操作,简化各类对象操作配置选项。
87.使用mshtml com接口实现rpa对ie浏览器自动化操作功能,需要对底层接口进行封装成rpa需求的中间层模块,中间层模块与用户层模块进行对接,从而实现系统通过中间层模块完成业务配置功能以及流程执行功能,调用流程如图4所示。
88.中间层模块封装示例如下:
89.1)浏览器对象:用于实现ie浏览器操作功能封装,例如:启动浏览器、关闭浏览器,打开网页、关闭网页、切换页签,获取激活页签、所有页签、最大化、最小化、cookies设置获
取等功能,满足系统对ie浏览器自动化操作。
90.2)网页页签对象:主要通过mshtml提供的api以及windows系统提供的操作进程启动结束的api联合调用实现网页基本操作,例如:url获取、url设置,网页标题获取、设置功能、元素访问、页签关闭功能及js脚本执行命令等功能。
91.3)控件对象:主要通过mshtml各类接口api联合调用来实现网页中各类控件功能封装,各类控件封装分别用于实现其对应控件的常用操作,通过对控件的封装来支持系统用户层业务流程操作各类网页元素的功能需求;举例如下:
92.按钮控件:提供点击、双击、右键点击功能;
93.文本框控件:提供文本获取、文本输入、文本清除功能;
94.下拉框控件:提供当前选项值获取,选取与输入文字匹配的目标选项的功能;
95.日期输入框控件:提供日期获取、日期设置的功能;
96.列表控件:提供列表所有文本获取的功能;
97.表格控件:提供表格控件所有项及表格行遍历的功能。
98.4)元素查找器对象:通过以上举例获取网页元素的方式及js命令执行脚本的功能实现对目标网页元素定位信息生成及定位的功能,例如:通过坐标位置查找网页元素、通过xpath查找网页元素、通过id查找网页元素、通过css或元素属性查找网页元素的、及生成对应rpa流程运行中可对该网页元素目标查找的定位信息的功能,如保存元素id、元素css、元素tag、元素xpath、元素属性信息等。
99.3、用户层模块;
100.用户层模块提供用户操作中单个步骤功能点可配置实现或者组合多个步骤的流程容器配置实现。通过中间层模块调用,系统在配置期可根据业务需求配置出对应的流程信息,并在流程运行阶段通过对应的配置信息对中间层模块调用从而达到业务流程自动化执行的功能。
101.流程对象使用队列模型实现容器,实行先进先执行则,按序执行加入的容器中的步骤,具有添加步骤、删除步骤、插入步骤、配置保存、配置加载以及整个流程执行的功能。步骤举例如下:
102.1)浏览器打开步骤:通过中间层模块的浏览器对象打开window系统的ie浏览器。
103.2)打开网页步骤:通过中间层模块的浏览器对象指定ie浏览器打开指定网页,网页url为用户所配置;该步骤记录用户配置url文本信息。
104.3)文本框编辑步骤:通过中间层模块的元素查找器指定将要进行操作的中间层文本框控件,指定的用户需要输入的文本信息,完成文本框输入步骤;该步骤记录用户操作的文本框控件定位信息及将要输入的文本信息。
105.4)按钮点击步骤:通过中间层模块的元素查找器指定将要进行操作的按钮控件,实现按钮各类点击操作。该步骤记录用户操作的按钮控件的定位信息。
106.如图5所示,举例用户实现ie浏览器自动打开百度地图配置过程,当用户根据业务需求将各个步骤配置完成后添加到流程中后,便可执行已配置的流程从上至下依次执行步骤来完成业务自动化处理。
107.在步骤实现过程中,不仅仅可以实现网页控件操作的步骤,也可以增加流程过程控制的步骤,如添加条件执行步骤(根据判断的结果真、假分别执行不同业务步骤),也可添
加循环执行步骤(可循环固定的次数,或者循环一个网页中的一个表格、列表)。
108.第四实施例;
109.参照图6,本发明的一个实施例,提供了一种针对ie浏览器的自动化流程操作系统,系统结构运行说明:
110.流程配置阶段;
111.基于mshtml组件及window系统提供的api,封装浏览器对象、控件对象、页签对象操作的中间层模块,中间层模块给用户层模块提供各类用户可操作的api方法,用户层模块将该类api方法封装成单一功能的可配置可执行的步骤,如图5所示,用户根据业务需求分解成一个个步骤依次完成配置,并将步骤添加到流程容器中进行组合,最终等待符合业务需求的整个流程配置信息。
112.流程运行阶段;
113.流程运行过程中加载已配置的信息依次执行所有步骤,从而完成流程自动化操作实现。在系统结构在中间层模块增加控件、用户层模块增加步骤应对业务不兼容性进行扩展,如中间层模块可加入树控件,用户层模块增加树控件操作步骤,从而完善系统对树控件操作的兼容性,中间层模块中加入表格控件在用户层增加表格遍历步骤从而完善表格逐行遍历操作的兼容性。
114.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
115.尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1