网页操作的还原方法、装置、设备、可读存储介质及系统转让专利

申请号 : CN202010860222.6

文献号 : CN111736837B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张野陈泽瀛陈志豪李欣刚

申请人 : 银联商务股份有限公司

摘要 :

本申请实施例提供了一种网页操作的还原方法、系统、装置、设备及可读存储介质,机器人响应于查询到待还原信息中的元素标识,对网页中的具有元素标识的目标元素,进行目标元素的操作信息指示的操作。响应于查询到待还原信息中的递归路径,对网页中的具有递归路径的目标元素,进行目标元素的操作信息指示的操作。相对于现有技术中,从根节点遍历查找目标元素的方法,本方法依据目标元素的元素标识可以直接定位到目标元素,依据目标元素的递归路径,从叶子节点开始,向根节点扩展定位目标元素。本方法避免了现有技术在复杂页面的场景下,定位目标元素耗时长、效率低以及无法获取全部目标元素的缺点。

权利要求 :

1.一种网页操作的还原方法,其特征在于,包括:

获取待还原信息,所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;

响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;

响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。

2.根据权利要求1所述的方法,其特征在于,还包括:

响应于未查询到所述待还原信息中的所述元素标识和所述递归路径,对所述网页中的第三目标元素,进行所述第三目标元素的操作信息指示的操作;所述第三目标元素为,所述遍历路径中的最后一个预设字符串指示的所述目标元素。

3.根据权利要求1所述的方法,其特征在于,进行所述操作信息指示的操作,包括以下至少一项:通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行所述操作信息指示的操作。

4.根据权利要求1所述的方法,其特征在于,所述获取待还原信息,包括:接收所述待还原信息,其中,所述目标元素的属性信息和操作信息,通过自动和/或人机交互方式获取。

5.根据权利要求1所述的方法,其特征在于,所述响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作,包括:在不存在自定义还原规则的情况下,响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;

所述响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作,包括:在不存在所述自定义还原规则的情况下,响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;

所述方法还包括:

在存在所述自定义还原规则的情况下,按照所述自定义还原规则,对所述目标元素进行操作。

6.一种网页操作的还原装置,其特征在于,包括:

信息获取单元,用于获取待还原信息,所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;

第一操作单元,用于响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;

第二操作单元,用于响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。

7.一种网页操作的还原设备,其特征在于,包括:存储器和处理器;

所述存储器,用于存储程序;

所述处理器,用于执行所述程序,实现如权利要求1 5中任一项所述的网页操作的还原~方法的各个步骤。

8.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1 5中任一项所述的网页操作的还原方法的各个步骤。

~

9.一种网页操作的还原系统,其特征在于,包括:

设计器、机器人和管理控制平台;

所述设计器用于获取待还原信息,并将所述待还原信息发给所述管理控制平台;所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;

所述管理控制平台用于,将所述待还原信息发给所述机器人;

所述机器人用于,响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;

响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。

10.根据权利要求9所述的系统,其特征在于,所述管理控制平台还用于以下至少一项:向所述机器人发送心跳消息,所述心跳消息用于所述机器人保持与所述管理控制平台一致的心跳;

监控所述机器人的状态。

说明书 :

网页操作的还原方法、装置、设备、可读存储介质及系统

技术领域

[0001] 本申请涉及电子信息领域,尤其涉及一种网页操作的还原方法、装置、设备、可读存储介质及系统。

背景技术

[0002] AI(Artificial Intelligence,人工智能)技术的落地和人力成本的提高作为流程自动化发展的催化剂,流程自动化不仅在发展速度上越来越快,在应用场景方面也越来越广,随之兴起流程自动化产品的狂潮。RPA(Robotic Process Automation),译为流程自动化机器人,是一种智能化软件,通过模拟并增强人类与计算机的交互过程,实现工作流程中的自动化。
[0003] 现有的RPA在还原人对网页的操作过程时,不仅在网页上有大量元素的情况下时延长,而且,对于存在较多嵌套的HTML的复杂网页,由于无法获取嵌套的HTML的元素,所以,不能对人在网页的操作进行准确的还原。
[0004] 可见,如何降低还原网页操作的时延,并且提高准确性,成为目前亟待解决的问题。

发明内容

[0005] 本申请提供了一种网页操作的还原方法、装置、设备、可读存储介质及系统,目的在于降低还原网页操作的时延,并且提高准确性。
[0006] 为了实现上述目的,本申请提供了以下技术方案:
[0007] 一种网页操作的还原方法,包括:
[0008] 获取待还原信息,所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;
[0009] 响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;
[0010] 响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。
[0011] 可选地,还包括:
[0012] 响应于未查询到所述待还原信息中的所述元素标识和所述递归路径,对所述网页中的第三目标元素,进行所述第三目标元素的操作信息指示的操作;所述第三目标元素为,所述遍历路径中的最后一个预设字符串指示的所述目标元素。
[0013] 可选地,进行所述操作信息指示的操作,包括以下至少一项:
[0014] 通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行所述操作信息指示的操作。
[0015] 可选地,获取待还原信息,包括:
[0016] 接收所述待还原信息,其中,所述目标元素的属性信息和操作信息,通过自动和/或人机交互方式获取。
[0017] 可选地,响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作,包括:
[0018] 在不存在自定义还原规则的情况下,响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;
[0019] 所述响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作,包括:
[0020] 在不存在所述自定义还原规则的情况下,响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;
[0021] 所述方法还包括:
[0022] 在存在所述自定义还原规则的情况下,按照所述自定义还原规则,对所述目标元素进行操作。
[0023] 一种网页操作的还原装置,包括:
[0024] 信息获取单元,用于获取待还原信息,所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;
[0025] 第一操作单元,用于响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;
[0026] 第二操作单元,用于响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。
[0027] 一种网页操作的还原设备,包括:存储器和处理器;
[0028] 所述存储器,用于存储程序;
[0029] 所述处理器,用于执行所述程序,实现如上所述的网页操作的还原方法的各个步骤。
[0030] 一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如上所述的网页操作的还原方法的各个步骤。
[0031] 一种网页操作的还原系统,包括:
[0032] 设计器、机器人和管理控制平台;
[0033] 所述设计器用于获取待还原信息,并将所述待还原信息发给所述管理控制平台;所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;
[0034] 所述管理控制平台用于,将所述待还原信息发给所述机器人;
[0035] 所述机器人用于,响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;
[0036] 响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。
[0037] 可选地,管理控制平台还用于以下至少一项:
[0038] 向所述机器人发送心跳消息,所述心跳消息用于所述机器人保持与所述管理控制平台一致的心跳;
[0039] 监控所述机器人的状态。
[0040] 本申请所述的一种网页操作的还原方法、装置、设备、可读存储介质及系统,获取待还原信息,待还原信息包括目标元素的属性信息和操作信息,其中,目标元素为人在网页中操作的元素,属性信息用于指示目标元素的属性,操作信息用于指示人对所述目标元素执行的操作,属性信息包括元素标识、递归路径和遍历路径中的至少一项。响应于查询到待还原信息中的元素标识,对网页中的具有元素标识的目标元素,进行目标元素的操作信息指示的操作。响应于查询到待还原信息中的递归路径,对网页中的具有递归路径的目标元素,进行目标元素的操作信息指示的操作。相对于现有技术中,从根节点遍历查找目标元素的方法,依据目标元素的元素标识可以直接定位到目标元素,从而降低还原网页操作的时延。并且,依据目标元素的递归路径,从叶子节点开始,向根节点扩展定位目标元素,避免了现有技术在较多嵌套的HTML的复杂页面的场景下,无法获取全部目标元素的缺点。综上,本方法降低还原网页操作的时延、提高网页操作的还原的准确度。

附图说明

[0041] 为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042] 图1为本申请实施例提供的一种网页操作的还原系统的结构示意图;
[0043] 图2为本申请实施例提供的一种网页操作的还原方法的具体实现方式的流程示意图;
[0044] 图3为本申请实施例提供的一种流程自动化平台的服务系统架构图;
[0045] 图4为本申请实施例提供的一种网页操作的还原方法的流程示意图;
[0046] 图5为本申请实施例提供的一种网页操作的还原装置的结构示意图;
[0047] 图6为本申请实施例提供的一种网页操作的还原设备的结构示意图。

具体实施方式

[0048] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0049] 本申请实施例提供的一种网页操作的还原方法基于网页操作的还原系统实现对人在网页的操作进行准确的还原。图1为本申请实施例提供的一种网页操作的还原系统,如图1所示,网页操作的还原系统包括设计器、机器人和管理控制平台。
[0050] 图2为本申请实施例提供的一种网页操作系统中的各组件之间通过交互,实现的网页操作的还原方法的具体实现过程,如图2所示,具体包括下述步骤:
[0051] S201、设计器获取待还原信息。
[0052] 本实施例中,待还原信息包括目标元素的属性信息和操作信息,目标元素为人在网页中操作的元素。
[0053] 本实施例中,设计器中设置有人机交互模块即元素选择器,实际应用中,人(即用户,可以为预先注册的账户)触发元素选择器的选择指令,元素选择器获取并保存待还原信息。需要说明的是,元素选择器保存待还原信息的方式是保存包括目标元素的json数组,元素选择器保存json数组的方式为:从网页的HTML的根节点开始,一层层保存,直到叶子节点,每一层都是一个json字符串。以选择百度输入框为例,第一个json数组是网页的url等信息,本实施例在元素匹配的时候跳过第一个json数组,从HTML根节点开始匹配。
[0054] 本实施例中,元素选择器包括两种可选的选择待还原信息的模式,第一种模式为自动模式,第二种模式为人机交互模式。本实施例对两种模式的触发条件以及选择过程进行介绍,如下:
[0055] 第一种、在自动模式下,设计器通过元素选择器自动获取待还原信息。
[0056] 具体地,设计器响应于用户的打开元素选择器的指令,弹出元素选择器的选择窗口,选择窗口预设选择按钮,当用户点击选择按钮,隐藏选择器的选择窗口,进一步,当用户在网页点击需要操作的元素时,元素选择器自动获取用户在网页中操作的元素(记为目标元素),并且自动将网页的信息解析为json数组并保存,由此完成一次目标元素的获取,之后再次弹出选择器的点选窗口,循环上述操作直至自动获取到用户在网页中操作的所有元素。
[0057] 需要说明的是,点击操作一般指的是鼠标点击,在第一种模式下,用户只需要简单的点击操作,元素选择器即可自动获取用户在网页中操作的元素,即目标元素。
[0058] 进一步需要说明的是,设计器自动获取待还原信息后,以json数组保存并显示,其中,以树形图结构显示,并且,目标元素为高亮。
[0059] 第二种、在人机交互模式下,设计器通过元素选择器与用户的交互获取待还原信息。
[0060] 设计器响应于用户的打开元素选择器的指令,弹出元素选择器的选择窗口,选择窗口中以树形图结构显示网页中的各元素。当用户在树形图中逐层查询,并点击选择人为在网页上操作的元素后,元素选择器获取被点击的元素作为目标元素,并以高亮进行标识。
[0061] 需要说明的是,Web框架种类多,网页复杂,本实施例中通过人机交互模式获取待还原信息,能够提高待还原信息的准确性。
[0062] 需要说明的是,上述两种模式获取的待还原信息中,目标元素的属性信息用于指示目标元素的属性,操作信息用于指示人对目标元素执行的操作,属性信息包括元素标识、递归路径和遍历路径。
[0063] 其中,当目标元素的属性信息包括元素标识时,元素选择器获取目标元素的元素标识,并作为待还原信息保存到json数组。
[0064] 递归路径为从叶子节点开始,向根节点扩展的路径。当目标元素的属性信息包括递归路径时,元素选择器获取目标元素的递归路径,并将目标元素的递归路径作为待还原信息保存到json数组,此时,元素选择器不需要保存目标元素全路径的信息。
[0065] 遍历路径为从根节点开始,向叶子节点扩展的路径(即全路径),当目标元素的属性信息包括遍历路径时,元素选择器获取目标元素的遍历路径,并将目标元素的遍历路径作为待还原信息保存到json数组。
[0066] 需要说明的是,目标元素的属性信息包括元素标识、递归路径和遍历路径中的至少一项。
[0067] S202、设计器将待还原信息发送至管理控制平台。
[0068] S203、管理控制平台将待还原信息发送至机器人。
[0069] S204、机器人查询是否存在自定义还原规则,在不存在自定义还原规则的情况下,执行S205 S207,在存在自定义还原规则的情况下,执行S208。~
[0070] 本实施例中,自定义还原规则为预先设置的个性化还原规则,由用户根据实际需求定制,并集成到元素选择器中。
[0071] S205、机器人查询获取的待还原信息中,是否包括目标元素的元素标识。
[0072] 若是,则机器人响应于查询到待还原信息中的元素标识,对网页中的具有元素标识的目标元素(记为第一目标元素),进行第一目标元素的操作信息指示的操作。
[0073] 需要说明的是,MSHTML提供了七种HTML文档接口,并且将document的多种方法封装到HTMLDocument中。当目标元素的属性信息包括元素标识时,元素选择器会获取目标元素的元素标识,并作为待还原信息保存到json数组,并通过管理控制平台将待还原信息发送至机器人。本步骤中,机器人接收待还原信息,并从待还原信息中查询到目标元素的元素标识,依据目标元素的操作信息,执行操作信息指示的操作,可选地,机器人调用HTMLDocument接口中getElementById()方法,执行操作信息指示的操作。
[0074] 本实施例中,机器人在进行第一目标元素的操作信息指示的操作可能包括通用操作,例如赋值操作、点击操作以及选择操作。其中,赋值使用的是第一目标元素的value(赋值)属性,点击是触发click(点击)事件,选择是触发select(选择)事件。通常,对通用操作可以进行封装,通过调取封装函数,满足机器人对第一目标元素的操作需求。本实施例中,为了更好的模拟人机交互,还原人对第一目标元素的操作,预先对鼠标接口以及键盘接口进行封装,并保存封装函数。
[0075] 本实施例中,将鼠标接口进行封装,使得鼠标点击操作可以触发click事件,也可以触发mousedown事件、mouseup事件、左键点击事件、以及右键点击事件。
[0076] 针对于赋值操作,大部分的输入框可以对第一目标元素的属性直接赋值,但是,至少存在下述问题(1)问题(3)中的至少一项。~
[0077] (1)输入框(例如登陆框)中的密码输入无法直接赋值。
[0078] (2)输入框可以赋值,但是输入正确密码,登录时显示密码错误。
[0079] (3)输入框赋值无法触发模糊查询。
[0080] 本实施例中,将键盘接口进行封装,使得键盘输入操作可以触发赋值后相关事件。以解决上述问题(1)问题(3)。例如,将键盘接口进行封装,使得预设类型的输入框(例如下~
拉框)赋值触发模糊查询,使得键盘输入操作可以触发赋值操作。
[0081] 需要说明的是,FlaUI是一个UI自动化库,调用其中鼠标接口和键盘接口的封装函数,可以模拟键盘和鼠标的操作。因此本实施例中,机器人通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行第一目标元素的操作信息指示的操作。
[0082] S206、若未查询到目标元素的元素标识,机器人查询获取的待还原信息中,是否包括目标元素的递归路径。
[0083] 若是,则机器人响应于查询到待还原信息中的递归路径,对网页中的第二目标元素,进行第二目标元素的操作信息指示的操作。其中,第二目标元素为,递归路径中的叶子节点指示的目标元素。
[0084] 本实施例中,递归路径为从叶子节点开始,向根节点扩展的路径。当机器人响应第二目标元素的递归路径时,先递归到叶子节点,如果叶子节点匹配,再匹配叶子节点的父节点,此时,json数组的index减1,对于不匹配的节点进行剪枝,直至匹配到递归路径中的叶子节点指示的目标元素,此时,信息核对全部通过,最终的叶子节点就是需要操作的第二目标元素。
[0085] 需要说明的是,机器人通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行第二目标元素的操作信息指示的操作。具体实现过程可以参照上述S205。
[0086] S207、若未查询到目标元素的递归路径,机器人对网页中的第三目标元素,进行第三目标元素的操作信息指示的操作。
[0087] 具体地,由于待还原信息中至少包括目标元素的元素标识、递归路径、或遍历路径中的至少一项,所以,当上述机器人查询获取的待还原信息中,未查询到待还原信息中的元素标识和递归路径时,机器人响应于未查询到待还原信息中的元素标识和递归路径,对网页中的第三目标元素,进行第三目标元素的操作信息指示的操作。本实施例中,遍历路径为从根节点开始,向叶子节点扩展的路径,第三目标元素为,遍历路径中的最后一个预设字符串指示的目标元素。
[0088] 例如,机器人从根节点开始,通过第三目标元素的遍历路径筛选孩子节点,通过tagName、className、id、IndexInParent等属性找到匹配的孩子节点,此时,json数组的index加1,再继续匹配孩子节点的孩子节点,以此类推,直到匹配到遍历路径中的最后一个预设字符串指示的目标元素。此时,信息核对全部通过,最终的孩子节点即叶子节点就是需要操作的第三目标元素。
[0089] 需要说明的是,机器人通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行第三目标元素的操作信息指示的操作。具体实现过程可以参照上述S205。
[0090] S208、在存在自定义还原规则的情况下,按照自定义还原规则,对目标元素进行操作。
[0091] 因为Web系统的框架繁多并且更新迭代频繁,版本更新可能带来使用问题。例如Ext.js框架,对于封装的组件里面的元素是有Id属性的,且Id动态随机分配的,在窗口或网页关闭重新打开时,Id会再次动态分配,前后两次Id不同,于是在元素属性核对时,会人为的去掉Id属性匹配,但由于网页元素众多,导致效率太低,因此需要定制化开发。
[0092] 为避免定制化开发导致的增加沟通成本或效率低的问题。本实施例将定制化开发的方法作为自定义还原规则,集成到元素选择器。当元素选择器中设置有自定义还原规则,用户将在网页中操作的元素和对元素的操作转化为JavaScript并作为元素选择器中的一个传入参数,在流程执行的时候,RPA会将这段JavaScript直接嵌入到浏览器中执行。
[0093] 基于自定义还原规则,当目标元素的邻近元素有固定的元素标识,机器人可以通过ParentNode或Children的方法快速定位到人在网页中操作的目标元素,并且按照自定义还原规则,对目标元素进行操作。本实施例中,机器人可以通过Chrome浏览器查看目标元素的监听事件,用嵌入到浏览器中的JavaScript直接调用。
[0094] 由上述技术方案可以看出本申请实施例提供的网页操作的还原方法,设计器获取并保存待还原信息,其中,待还原信息包括目标元素的属性信息和操作信息,并通过管理控制平台将待还原信息发送至机器人,机器人依据查询到的待还原信息中目标元素的属性信息,对目标元素进行操作信息指示的操作。
[0095] 针对于现有技术,本申请实施例提供的网页操作的还原方法的有益效果分析如下:
[0096] 第一、本申请实施例提供的网页操作的还原方法中,直接对网页中的具有元素标识的目标元素,进行目标元素的操作信息指示的操作。无需遍历所有节点,提高了还原的效率。
[0097] 例如,当网站中的HTML元素较多时,现有技术在遍历节点时,使用IHTMLElement接口Children属性会耗时严重,每次调用Children属性时,需要几百毫秒,若元素层数为50层,则导致找到该元素需要半分钟。本方法在目标元素的属性信息包括元素标识时,直接调用HTMLDocument接口中getElementById()方法,执行操作信息指示的操作即可,大大提升对复杂网页元素的操作的还原效率。
[0098] 第二、本申请实施例提供的网页操作的还原方法中,对网页中的具有递归路径的目标元素,进行目标元素的操作信息指示的操作。无需遍历所有节点,提高了还原的效率。
[0099] 例如,实际应用中存在嵌套的HTML,现有技术直接从根节点遍历,嵌套的HTML中的元素就无法获得。通过本实施例提供的按照递归路径进行匹配的方法,从叶子节点向根节点递归匹配,解决了根节点遍历方法无法获取全部元素的缺点。
[0100] 第三、本申请实施例提供的网页操作的还原方法中,支持定制自定义还原规则,将在网页中操作的元素和对元素的操作转化为JavaScript并作为元素选择器中的一个传入参数,避免现有技术中定制化开发导致的增加沟通成本或效率低的问题。
[0101] 第四、本申请实施例提供的网页操作的还原方法中,通过FlaUI框架中的Mouse接口,实现鼠标的移动和点击,模拟人的真实操作。克服了现有技术中,点击事件的场景只能触发click,对于mousedown、mouseup等操作事件是无法触发的缺点。
[0102] 第五、本申请实施例提供的网页操作的还原方法中,通过FlaUI框架中Keyboard接口,实现模拟人通过键盘输入的操作,在Keyboard接口基础上,对其进行了封装,新增了组合按键的功能。克服了现有技术中,元素赋值操作无法直接对元素赋值的缺点。
[0103] 综上,本实施例提供的一种网页操作的还原方法有效解决了浏览器操作Web元素不精准、速度慢、无法触发事件、定制化设计导致的效率低的问题。
[0104] 需要说明的是,本申请实施例提供的网页操作的还原系统基于MSHTML组件开发,需要说明的是,MSHTML是微软的Windows搭载的浏览器(IE)的排版引擎,具体地,MSHTML封装了HTML语言中所有元素及其属性,通过MSHTML提供的接口可以对HTML语言中的元素进行操作。
[0105] 图1所示的网页操作的还原系统,还可以具有以下功能进行说明。如下:
[0106] 管理控制平台还用于向机器人发送心跳消息,心跳消息用于机器人保持与管理控制平台一致的心跳,并接收机器人反馈的操作日志,监控机器人自身状态,以及流程的执行状态。本实施例中,管理控制平台还用于反馈状态信息至用户端(预先注册的账户)。
[0107] 需要说明的是,网页操作的还原系统,还可以进行鉴权或验证过程。
[0108] 具体地,设计器接收响应于用户的登录请求,提供登录窗口,并接收用户输入的用户信息,例如账号信息和密码信息,设计器将用户信息发送至管理控制平台,管理控制平台基于注册信息,对用户信息进行验证,并将验证信息反馈至设计器。
[0109] 本实施例中,设计器和机器人的证书管理由管理控制平台中预设的证书管理服务负责,如图3所示,图3示出了一种流程自动化平台的架构,其中,图3右侧示出了RPA证书管理服务的服务系统架构图。
[0110] 需要说明的是,图2示例的网页操作的还原方法的具体实现过程仅为实现网页操作的还原的一种可选的方法。本实施例还可以有其他的实现网页操作的还原的具体实施方式。例如,本实施例中通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行操作信息指示的操作,仅为进行操作信息指示的操作的一种方式,还可以使用现有的其它方式实现。
[0111] 综上,本实施例将机器人还原网页操作总结概括为图4所示的方法,如图4所示,机器人网页操作的还原方法包括以下步骤。
[0112] S401、获取待还原信息。
[0113] 其中,待还原信息包括目标元素的属性信息和操作信息,目标元素为人在网页中操作的元素,属性信息用于指示目标元素的属性,操作信息用于指示人对目标元素执行的操作。
[0114] 属性信息包括元素标识、递归路径和遍历路径中的至少一项,递归路径为从叶子节点开始,向根节点扩展的路径,遍历路径为从根节点开始,向叶子节点扩展的路径。
[0115] 需要说明的是,待还原信息由设计器获取并通过管理控制平台发送至机器人。具体可以参照上述实施例。
[0116] S402、响应于查询到待还原信息中的元素标识,对网页中的第一目标元素,进行第一目标元素的操作信息指示的操作。
[0117] 本实施例中,第一目标元素为具有元素标识的目标元素。具体可以参照上述S205,在此不做赘述。
[0118] S403、响应于查询到待还原信息中的递归路径,对网页中的第二目标元素,进行第二目标元素的操作信息指示的操作。
[0119] 本实施例中,第二目标元素为,递归路径中的叶子节点指示的目标元素。具体可以参照上述S206,在此不做赘述。
[0120] 由上述技术方案可以看出,本申请实施例提供的网页操作的还原方法,机器人响应于查询到待还原信息中的元素标识,对网页中的具有元素标识的目标元素,进行目标元素的操作信息指示的操作。响应于查询到待还原信息中的递归路径,对网页中的具有递归路径的目标元素,进行目标元素的操作信息指示的操作。相对于现有技术中,从根节点遍历查找目标元素的方法,本方法依据目标元素的元素标识可以直接定位到目标元素,降低还原网页操作的时延。并且,本方法依据目标元素的递归路径,从叶子节点开始,向根节点扩展定位目标元素,避免了现有技术在复杂页面的场景下,无法获取全部目标元素的缺点。综上,本方法降低还原网页操作的时延、提高网页操作的还原的准确度和效率。
[0121] 图5为本申请实施例提供的一种网页操作的还原装置的结构示意图,如图5所示,本装置包括:
[0122] 信息获取单元501,用于获取待还原信息,所述待还原信息包括目标元素的属性信息和操作信息,所述目标元素为人在网页中操作的元素,所述属性信息用于指示所述目标元素的属性,所述操作信息用于指示所述人对所述目标元素执行的操作,所述属性信息包括元素标识、递归路径和遍历路径中的至少一项,所述递归路径为从叶子节点开始,向根节点扩展的路径,所述遍历路径为从所述根节点开始,向所述叶子节点扩展的路径;
[0123] 第一操作单元502,用于响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;所述第一目标元素为具有所述元素标识的所述目标元素;
[0124] 第二操作单元503,用于响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;所述第二目标元素为,所述递归路径中的所述叶子节点指示的所述目标元素。
[0125] 可选地,本装置还包括第三操作单元,第三操作单元用于:
[0126] 响应于未查询到所述待还原信息中的所述元素标识和所述递归路径,对所述网页中的第三目标元素,进行所述第三目标元素的操作信息指示的操作;所述第三目标元素为,所述遍历路径中的最后一个预设字符串指示的所述目标元素。
[0127] 可选地,第一操作单元或第二操作单元进行所述操作信息指示的操作,包括以下至少一项:
[0128] 第一操作单元或第二操作单元具体用于:
[0129] 通过调用FIaUI库中,鼠标接口和/或键盘接口的封装函数,进行所述操作信息指示的操作。
[0130] 信息获取单元用于获取待还原信息,包括:
[0131] 信息获取单元具体用于:接收所述待还原信息,其中,所述目标元素的属性信息和操作信息,通过自动和/或人机交互方式获取。
[0132] 可选地,第一操作单元用于响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作,包括:第一操作单元具体用于:
[0133] 在不存在自定义还原规则的情况下,响应于查询到所述待还原信息中的所述元素标识,对所述网页中的第一目标元素,进行所述第一目标元素的操作信息指示的操作;
[0134] 可选地,第二操作单元用于响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作,包括:第二操作单元具体用于:
[0135] 在不存在所述自定义还原规则的情况下,响应于查询到所述待还原信息中的所述递归路径,对所述网页中的第二目标元素,进行所述第二目标元素的操作信息指示的操作;
[0136] 可选地,本装置还包括第四操作单元,第四操作单元用于:
[0137] 在存在所述自定义还原规则的情况下,按照所述自定义还原规则,对所述目标元素进行操作。
[0138] 本申请实施例还提供了一种网页操作的还原设备,请参阅图6,示出了该网页操作的还原设备的结构示意图,该设备可以包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604;
[0139] 在本申请实施例中,处理器601、通信接口602、存储器603、通信总线604的数量为至少一个,且处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;
[0140] 处理器601可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
[0141] 存储器603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
[0142] 其中,存储器存储有程序,处理器可执行存储器存储的程序,实现如上项所述的网页操作的还原方法。
[0143] 本申请实施例还提供一种可读存储介质,该可读存储介质可存储有适于处理器执行的计算机程序,计算机程序被处理器执行时,实现如上所述的网页操作的还原方法。
[0144] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0145] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0146] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。