CN115062206B - 一种网页元素的搜索方法和电子设备 - Google Patents
一种网页元素的搜索方法和电子设备 Download PDFInfo
- Publication number
- CN115062206B CN115062206B CN202210603679.8A CN202210603679A CN115062206B CN 115062206 B CN115062206 B CN 115062206B CN 202210603679 A CN202210603679 A CN 202210603679A CN 115062206 B CN115062206 B CN 115062206B
- Authority
- CN
- China
- Prior art keywords
- target
- searched
- elements
- attribute information
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种网页元素的搜索方法和电子设备。网页元素的搜索方法包括:获取待搜索元素的属性信息,获取第一网页中的元素的属性信息;待搜索元素的属性信息和第一网页中的元素的属性信息均包括层级信息,该层级信息用于表征对应的元素在其所在的网页中的数据层级;根据预设的层级变量和待搜索元素的层级信息确定目标层级范围;根据目标层级范围和第一网页中的元素的层级信息确定第一网页的目标元素;目标元素的层级信息在目标层级范围内;根据待搜索元素的属性信息和目标元素的属性信息确定待搜索元素的搜索结果。该方法用以及时发现网页结构和网页元素的变化,从而对自动化流程进行调整,提高网页自动化流程的稳定性。
Description
技术领域
本申请涉及网页数据处理技术领域,具体而言,涉及一种网页元素的搜索方法和电子设备。
背景技术
随着互联网技术的发展,网页也会随着网页版本的迭代而更新。当网页更新时,由于网页结构发生变化,网页中的元素(例如搜索框)也会对应发生变化,包括:元素的删除、元素位置的变更等。
针对网页的操作是指基于网页的相关内容,对网页进行的某些操作。其中,机器人流程自动化(Robotic Process Automation,RPA)是一个典型的场景,RPA通过网页元素的抓取,可以实现自动点击按钮,自动购物,自动下载,自动评论等。但是,当网页结构发生变化之后,由于元素的变化,可能会导致元素抓取失败,则自动化流程会产生中断。
因此,如何发现网页结构和网页元素的变化,以及时更改RPA流程成了亟需解决的问题。
发明内容
本申请实施例的目的在于提供一种网页元素的搜索方法和电子设备,用以实现元素的有效且准确的搜索;基于搜索结果,发现网页结构和网页元素的变化,从而对自动化流程进行调整,提高网页自动化流程的稳定性。
第一方面,本申请实施例提供一种网页元素的搜索方法,包括:获取待搜索元素的属性信息,以及获取第一网页中的元素的属性信息;其中,所述待搜索元素的属性信息和所述第一网页中的元素的属性信息均包括层级信息,该层级信息用于表征对应的元素在其所在的网页中的数据层级;根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围;根据所述目标层级范围和所述第一网页中的元素的层级信息确定所述第一网页中的目标元素;根据所述待搜索元素的属性信息和所述目标元素的属性信息确定所述待搜索元素的搜索结果。
作为一种可能的实现方式,所述获取待搜索元素的属性信息,包括:对第二网页进行网页结构解析,获得所述第二网页中的多个元素的属性信息;所述多个元素的属性信息包括路径属性信息;根据预设的所述待搜索元素的路径属性信息获取所述待搜索元素的属性信息。
作为一种可能的实现方式,所述根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围,包括:在所述待搜索元素的层级信息的基础上,加上所述预设的层级变量,获得所述目标层级范围的上限层级;在所述待搜索元素的层级信息的基础上,减去所述预设的层级变量,获得所述目标层级范围的下限层级。
作为一种可能的实现方式,所述待搜索元素的数量为多个,所述根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围,包括:根据预设的层级变量和各个待搜索元素的层级信息确定多个目标层级范围;对所述多个目标层级范围进行合并去重处理,获得合并去重后的目标层级范围。
作为一种可能的实现方式,所述根据所述目标层级范围和所述第一网页中的元素的层级信息确定所述第一网页中的目标元素,包括:根据所述目标层级范围确定目标元素的层级信息;其中,所述目标元素的层级信息在所述目标层级范围内;根据所述目标元素的层级信息和所述第一网页中的元素的层级信息确定所述目标元素。
作为一种可能的实现方式,所述网页元素的搜索方法还包括:获取预设的测试集;所述测试集中包括测试元素和测试元素的标准搜索结果;基于所述预设的测试集和多个待测层级变量确定所述测试元素的测试搜索结果;根据不同的待测层级变量对应的测试搜索结果和所述标准搜索结果确定不同的待测层级变量的准确率;根据所述不同的待测层级变量的准确率确定所述预设的层级变量。
作为一种可能的实现方式,所述待搜索元素和所述目标元素还均包括第一属性信息;所述根据所述待搜索元素的属性信息和所述目标元素的属性信息确定所述待搜索元素的搜索结果,包括:将所述待搜索元素的第一属性信息和所述目标元素的第一属性信息进行匹配,确定匹配目标元素的数量;所述匹配目标元素的第一属性信息与所述待搜索元素的第一属性信息一致;若所述匹配目标元素的数量为0,确定所述搜索结果为所述第一网页中不包含所述待搜索元素;若所述匹配目标元素的数量为1,确定所述匹配目标元素为所述待搜索元素的搜索结果。
作为一种可能的实现方式,所述待搜索元素和所述目标元素还均包括第二属性信息;所述网页元素的搜索方法还包括:若所述匹配目标元素的数量大于1,确定所述待搜索元素的第二属性信息和所述匹配目标元素的第二属性信息之间的相似度;确定所述相似度中的最大相似度;若所述最大相似度大于预设的相似度,将所述最大相似度对应的匹配目标元素确定为所述待搜索元素的搜索结果;若所述最大相似度小于所述预设的相似度,确定所述搜索结果为所述第一网页中不包含所述待搜索元素。
作为一种可能的实现方式,所述第二属性信息的数量为多个;所述确定所述待搜索元素的第二属性信息和所述匹配目标元素的第二属性信息之间的相似度,包括:确定所述待搜索元素的多个第二属性信息和所述匹配目标元素的多个的第二属性信息之间的多个相似度;根据预设的多个第二属性信息分别对应的相似度权重值和所述多个相似度确定最终的相似度。
作为一种可能的实现方式,所述多个相似度包括:层级信息相似度;所述层级信息相似度表示为:(FLOATDEEP-X))/FLOATDEEP;其中,X为待搜索元素的层级信息与匹配目标元素的层级信息之间的差值绝对值,FLOATDEEP为所述预设的层级变量。
作为一种可能的实现方式,所述网页元素的搜索方法还包括:获取预设的测试集;所述预设的测试集中包括测试元素和测试元素的标准搜索结果;基于所述预设的测试集和多个待测相似度权重值确定所述测试元素的测试搜索结果;根据不同的待测相似度权重值对应的测试搜索结果和所述标准搜索结果确定不同的待测相似度权重值的准确率;根据不同的待测相似度权重值的准确率确定所述预设的相似度权重值。
作为一种可能的实现方式,所述网页元素的搜索方法还包括:获取预设的测试集;所述预设的测试集中包括测试元素和测试元素的标准搜索结果;基于预设的测试集和多个待测参数组确定所述测试元素的测试搜索结果;每个待测参数组中均包括:待测相似度权重值和待测层级变量;根据不同的待测参数组对应的测试搜索结果和标准搜索结果确定不同的待测参数组的准确率;根据不同的待测参数组的准确率确定目标待测参数组;将所述目标待测参数组中的待测相似度权重值确定为所述预设的相似度权重值,以及将所述目标待测参数组中的待测层级变量确定为所述预设的层级变量。
第二方面,本申请实施例提供一种网页元素的搜索装置,包括:用于实现第一方面以及第一方面的任意一种可能的实现方式中所述的网页元素的搜索方法的各个功能模块。
第三方面,本申请实施例提供一种电子设备,包括:处理器;与所述处理器通信连接的存储器;其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行第一方面以及第一方面的任意一种可能的实现方式中所述的网页元素的搜索方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行第一方面以及第一方面的任意一种可能的实现方式中所述的网页元素的搜索方法。
本申请提供的网页元素的搜索方法及装置、电子设备、计算机可读存储介质,获取待搜索元素的属性信息,以及获取第一网页中的元素的属性信息,基于其中的层级信息定位目标层级范围,该目标层级范围可以理解为待搜索元素在第一网页中可能所处的层级,然后在该目标层级范围内确定目标元素,该目标元素可能是与待搜索元素相同的元素。则,将目标元素与待搜索元素的属性信息进行匹配,可确定第一网页中是否包括待搜索元素,即得到对应的搜索结果。通过这种方式,可实现网页中的需求元素(即待搜索元素)的有效搜索,以基于搜索结果获知网页结构的变化以及网页元素的变化,从而根据网页结构的变化以及网页元素的变化对自动化流程进行调整,提高网页自动化流程的稳定性。并且,这种搜索方式,通过层级信息实现元素的大致筛选,在进行属性信息匹配时,只需要基于目标元素进行属性信息的匹配,提高搜索效率的同时,降低搜索出错的概率,实现元素的准确搜索。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的网页元素的搜索方法的流程图;
图2为本申请实施例提供的原网页结构的示例图;
图3为本申请实施例提供的新网页结构的示例图;
图4为本申请实施例提供的网页元素的搜索装置的结构示意图;
图5为本申请实施例提供的电子设备的结构示意图。
图标:400-网页元素的搜索装置;410-获取模块;420-搜索模块;500-电子设备;510-处理器;520-存储器。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的技术方案可以应用于互联网应用场景中,具体的,应用于针对于网页的操作。针对网页的操作是指基于网页的相关内容,对网页进行的某些操作。
在一些实施例中,针对网页的操作可以是RPA流程中的各项操作。RPA流程通过网页元素的抓取,可以实现自动点击按钮,自动购物,自动下载,自动评论等。
举例来说,针对自动点击操作:先定位到需要点击的按钮,然后对该按钮进行自动点击。自动下载:查找到需要下载的内容,然后对该内容进行自动下载等。
该RPA技术应用在互联网场景中,其对应的硬件运行环境可以是:网页服务器、网页前端等,在此不作限定。
基于该RPA流程,对于一个网页来说,例如:百度的首页,随着网页的更新,或者版本变化,其中的元素对应变更。例如:在变更前,按钮的位置在正中间;在变更后,按钮的位置相较于正中间往上移动一部分距离。在这种情况下,若RPA流程仍然按照原来的程序执行自动点击按钮操作,可能会由于无法定位到按钮的位置,而导致流程中断。
但是,如果在网页更新之后,及时地在更新的网页中搜索所需的元素,根据搜索结果获知网页结构的变化以及网页元素的变化,从而根据网页结构的变化以及网页元素的变化调整RPA流程;或者在无法搜索到元素时,告知用户调整RPA流程,便能保证自动化流程可以稳定运行。
当然,RPA流程只是网页元素搜索的一种应用方式。在另一些实施例中,网页元素的搜索结果还可以有更多的应用,在本申请实施例中不作限定。
例如:设定判断网页更新正确的条件为一些特定的元素必须保留,基于该更新的条件可以检查更新后的网页是否有误,以对网页的更新程序作调整。再例如:并不仅用于网页更新的场景中,还可用于对不同的网页进行元素分析,以根据元素分析结果对网页进行分类、检索等。
在本申请实施例中,在进行元素搜索时,需要利用到元素的属性信息。可以理解,网页中的每个元素,例如:搜索框,都具有多个属性,这多个属性组成了元素。
在一些实施例中,通过对网页的结构进行解析,便能得到网页中的各个元素的属性信息。当网页采用不同的文本协议时,对应的属性信息可能有区别,在本申请实施例中,采用HTML(Hyper Text Markup Language,超文本标记语言)技术,当然,也可以采用其他的可实施技术,在此不作限定。
为了便于后续实施例的理解,接下来对一些HTML下的网页元素的属性信息作举例介绍,在后续的实施例中,会应用到其中的部分属性信息。
网页的结构都是以树状图的形式,层次嵌套型的结构,为了分析需要通过网页的HTML代码解析成DOM(Document Object Model,文档对象模型)“树”结构形式,每个元素表示为树的节点形式。
可以理解,在DOM中,各个元素为各个树节点,因此,后续的节点属性信息均应当理解为元素在树节点的表示形式下的属性信息。
网页中的每个元素(在树结构的基础上)都包括以下属性信息:
tag属性:用于表征节点的类型,可称作类型属性信息。在HTML中包括但不限于:<body>,<div>,<script>,<li>,<span>,<text>等。其中,<body>代表网页的主体元素。<div>代表块级元素,它是可用于组合其他HTML元素的容器。<script>代表用于定义客户端脚本的标签元素。<li>代表定义列表项目的标签元素。<span>代表内联元素,可用作文本的容器。<text>代表HTML表单中的文本输入域等元素。
deep属性:用于表征节点在树结构中的深度(数据层级),可以理解为层级属性信息。例如:树结构一共有10层,其中的某个节点位于第4层,则对应的该属性信息为4层。
为了便于理解,请参照图2,为树结构中的节点的层级信息的示例图,在图2中,树结构一共包括7层,其中,节点1在第1层,节点2和13在第2层,其他的节点在此不一一列举。
text属性:当节点的类型为前述的<text>时,该属性信息用于记录元素的文本信息。例如:text属性可以是“晴天”。
tree_msg属性:描述属性信息,用于记录节点的描述信息,包括:对节点本身的描述以及其子孙节点的描述,该属性信息采用字符串格式。例如:tree_msg属性可以是“歌曲晴天”。
class属性:类名属性信息,用于规定节点的类名。例如,class属性可以是“A”。
xPath属性:用于记录从根节点到元素的路径,例如:/HTML/body/div[3]表示元素是在HTML的body结构下的div[3]节点。通过该属性信息可以定位节点的位置,因此,在后续实施例中将其称为路径属性信息。
id属性:HTML元素标签的标志,可以理解为唯一表示节点的标识符;它在HTML文档中是唯一的。
self_index属性:表示每个节点唯一的序号。
father_index属性:表示节点的父节点的序号。
children_index_list属性:表示节点的子节点的序号集合。
基于上述应用场景和基础背景知识的介绍,接下来请参照图1,为本申请实施例提供的网页元素的搜索方法的流程图,该搜索方法包括:
步骤110:获取待搜索元素的属性信息,以及获取第一网页中的元素的属性信息。
结合前述应用场景的介绍,假设待搜索元素为第二网页中的元素,则,在一些实施例中,第二网页为更新前的网页,第一网页为更新后的网页,对应不同的网页版本。在另一些实施例中,第一网页和第二网页也可以是不同的网页,在此不作限定。
在一些实施例中,待搜索元素,可以理解为针对网页的操作需要用到的元素,针对网页的操作例如可以是RPA流程,此时,待搜索元素可以是RPA流程需要利用的元素。在网页的结构变化之后,这些元素可能产生改变,例如:元素删除、元素位置变化,因此,需要对元素进行搜索,从而获知网页结构的变化或者网页元素的变化。
待搜索元素的数量可以是一个,也可以是多个。若为一个,则后续步骤中针对该一个元素进行搜索即可,若为多个,则多个元素分别按照相同的方式进行搜索即可,在一些步骤中,这多个元素的处理过程可同步执行。
在该步骤中,分别对第一网页和第二网页进行结构解析,以得到网页中各个元素的属性信息。并且,针对第二网页,获取待搜索元素的属性信息。
在一些实施例中,待搜索元素可以是预先定义的元素,预先定义的方式为:在RPA流程对应的元素已知的情况下,预先定义RPA流程对应的元素(即待搜索元素)的路径属性信息。
进而,作为一种可选的实施方式,获取待搜索元素的属性信息,包括:对第二网页进行网页结构解析,获得第二网页中的多个元素的属性信息;多个元素的属性信息包括路径属性信息;根据预设的待搜索元素的路径属性信息获取待搜索元素的属性信息。
在这种实施方式中,可以通过对第二网页进行HTML结构解析,实现网页结构解析,获得多个元素的属性信息。但是,由于只需要对待搜索元素进行搜索,所以只需要利用到待搜索元素的属性信息。因此,利用预设的待搜索元素的路径属性信息对待搜索元素进行定位,然后获取该待搜索元素的路径信息即可。
在一些实施例中,记第二网页所需用到的元素的xPath属性(即路径属性信息)的集合为C,通过C中的xPath,找到第二网页中针对网页的操作所要用到的元素,并对应获取这些元素的属性信息。即,该xPath属性相当于元素的地址,然后按照该地址查找属性信息即可。
在获取到待搜索元素的属性信息之后,可将元素及对应的属性信息集成到一个集合D中,该集合D可称为搜索目标。
对于第一网页,获取第一网页中的元素的属性信息,包括:对第一网页进行网页结构解析,获得第一网页中的多个元素的属性信息。
即,针对第一网页,按照与第二网页相同的结构解析方式,例如:HTML结构解析,获得其中的多个元素的属性信息。
在一些实施例中,待搜索元素的属性信息和第一网页中的元素的属性信息均包括层级信息,该层级信息用于表征对应的元素在其所在的网页中的数据层级。
步骤120:根据预设的层级变量和待搜索元素的层级信息确定目标层级范围。
预设的层级变量,可以理解为,人为设定的网页变动后,待搜索元素可能变动的层级。通过该层级变量,可以锁定待搜索元素在第二网页中可能存在的层级范围,即目标层级范围。
作为一种可选的实施方式,预设的层级变量的确定过程包括:获取预设的测试集;测试集中包括测试元素和测试元素的标准搜索结果;基于预设的测试集和多个待测层级变量确定测试元素的测试搜索结果;根据不同的待测层级变量对应的测试搜索结果和标准搜索结果确定不同的待测层级变量的准确率;根据不同的待测层级变量的准确率确定预设的层级变量。
在这种实施方式,预设的层级变量可以通过测试的方式确定。在测试集中包括测试元素和测试元素的标准搜索结果。与待搜索元素类似,测试元素为网页中的元素,测试元素的标准搜索结果用于表征在网页更新之后,在新网页中与测试元素对应的元素,若无,则该元素为空;若有,则为该元素的属性信息。
该标准搜索结果,可以通过其他的搜索方式得到,例如:全局元素的搜索方式,即将各个元素一一进行匹配,所确定的搜索结果。
在测试集的基础上,可设定多个待测层级变量,这多个待测层级变量可以理解为一些可选的层级变量。利用这多个待测层级变量按照本申请实施例提供的元素搜索方式进行测试元素的搜索,得到测试搜索结果。
在一些实施例中,待测层级变量的取值范围可以是0-5内的整数,不同的待测层级变量之间的差值为1。
将测试搜索结果与标准搜索结果进行比较,确定待测层级变量的准确率。例如:针对m个待测层级变量,以及n个测试元素,记录每个待测层级变量的作用下,n个测试元素中测试搜索结果与标准搜索结果一致的节点数量x,进而,准确率可以表示为:x/n。
最后,在得到m个待测层级变量分别对应的准确率之后,将准确率最高的待测层级变量确定为预设的层级变量。
除了上述的层级变量的预设方式,在一些实施例中,也可以由用户根据经验设定,例如:在用户的工作经验中,发现网页更新之后,元素的层级变化通常不会超过1,则预设的层级变量便可以为1。
基于预设的层级变量,作为一种可选的方式,步骤120包括:在待搜索元素的层级信息的基础上,加上所述预设的层级变量,获得目标层级范围的上限层级;在待搜索元素的层级信息的基础上,减去预设的层级变量,获得目标层级范围的下限层级。
在这种实施方式中,目标层级范围包括上限层级和下限层级。针对一个待搜索元素来说,其对应的目标层级范围的上限层级为其层级信息与预设的层级变量的和,其对应的目标层级范围的下限层级为其层级信息与预设的层级变量的差。
举例来说,假设元素A的层级信息为3,预设的层级变量为1,则该元素A对应的目标层级范围为2-4层。则,该元素A在新的网页中的数据层级可能位于2-4层。
可以理解,待搜索元素的数量可能为多个,当有多个时,在分别确定这多个待搜索元素分别对应的目标层级范围之后,可以对多个目标层级范围进行合并,以便于后续对这多个待搜索元素进行同步搜索。
因此,作为一种可选的实施方式,在待搜索元素的数量为多个时,步骤120包括:根据预设的层级变量和各个待搜索元素的层级信息确定多个目标层级范围;对多个目标层级范围进行合并去重处理,获得合并去重后的目标层级范围。
对于多个目标层级范围的合并去重处理,举例来说,如果所需要用的元素有两个,它们的层级信息分别是3和4;FLOATDEEP(层级变量)为1,则节点1对应的目标层级范围为2-4层,以及节点2对应的目标层级范围为3-5层,合并去重处理之后的目标层级范围为:2-5层。
进而,最终确定的目标层级范围可将其称为搜索目标对应的搜索空间,在该搜索空间内的所有元素将与搜索目标进行匹配。
步骤130:根据目标层级范围和第一网页中的元素的层级信息确定第一网页中的目标元素。
作为一种可选的实施方式,步骤130包括:根据目标层级范围确定目标元素的层级信息;其中,目标元素的层级信息在目标层级范围内;根据目标元素的层级信息和第一网页中的元素的层级信息确定目标元素。
在这种实施方式中,根据目标层级范围可确定目标元素的层级信息,例如:目标层级范围为2-4,则目标元素的层级信息为2、3或者4。对应的,结合第一网页中的元素的层级信息,查找到层级信息为2、3或者4的元素,将这些元素确定为目标元素。例如:层级信息为2、3或者4的元素为元素10-13,则目标元素为元素10、元素11、元素12和元素13。
显然,目标元素可以只有一个,也可以有多个。
在一些实施例中,也可以将目标元素及其属性信息的集合称作搜索空间。
步骤140:根据待搜索元素的属性信息和目标元素的属性信息确定待搜索元素的搜索结果。
在步骤140中,将待搜索元素的属性信息和目标元素的属性信息进行匹配,可确定待搜索元素的搜索结果。
在进行属性信息的匹配时,无需进行所有的属性信息的匹配。
在一些实施例中,基于属性信息中的第一属性信息,步骤140包括:将待搜索元素的第一属性信息和目标元素的第一属性信息进行匹配,确定匹配目标元素的数量;匹配目标元素的第一属性信息与待搜索元素的第一属性信息一致;若匹配目标元素的数量为0,确定搜索结果为第一网页中不包含所述待搜索元素;若匹配目标元素的数量为1,确定匹配目标元素为待搜索元素的搜索结果。
其中,第一属性信息可以是前述实施例中介绍的:class属性信息、tag属性信息以及id属性信息。当然,在另一些实施例中,也可以是其他的属性信息,在此不作限定。
在这种实施方式中,根据每个待搜索元素的第一属性信息,对各个目标元素进行筛查,搜索与待搜索元素的第一属性信息均一致的匹配目标元素。
在一些实施例中,可能无法查找到符合条件的匹配目标元素,此时,匹配目标元素的数量为0,对应的搜索结果可确定为第一网页中不包含待搜索元素,即搜索失败。
在一些实施例中,正好查找到一个符合条件的匹配目标元素,此时,匹配目标元素的数量为1,对应的搜索结果可确定为匹配目标元素。即,第一网页中,与待搜索元素相同的元素为该匹配目标元素。
在一些实施例中,可能查找到多个符合条件的匹配目标元素,此时,匹配目标元素的数量为大于1,可以结合这些匹配目标元素确定最终的搜索结果。
在这种情况下,可以基于第二属性信息实现搜索结果的确定,作为一种可选的实施方式,该搜索方法还包括:若匹配目标元素的数量大于1,确定待搜索元素的第二属性信息和匹配目标元素的第二属性信息之间的相似度;确定相似度中的最大相似度;若最大相似度大于预设的相似度,将最大相似度对应的匹配目标元素确定为待搜索元素的搜索结果;若最大相似度小于预设的相似度,确定搜索结果为第一网页中不包含待搜索元素。
其中,第二属性信息可以是前述实施例中text属性、tree_msg属性以及deep属性(即层级属性)。当然,也可以是前述的属性中的其他一种或者多种属性,在此不作限定。
对于text属性和tree_msg属性,其相似度的计算方式可以相同,采用文本相似度的计算方式,例如:基于字频的相似度。
举例来说,字频相似度的计算过程包括:统计各个文字的出现数量,构建字频特征向量,利用字频特征向量夹角余弦表示文本相似度。
具体的,例1如:计算“今天天气好”与“今天好天气”的文本相似度。首先统计“今天天气好”的字频,今:1,天:2,气:1,好:1,特征向量为[1,2,1,1];统计“今天好天气”的字频,今:1,天:2,气:1,好:1,特征向量为[1,2,1,1];计算两个向量的余弦相似度为1。
例2如:计算“我爱读书”与“我爱学习”的文本相似度。首先统计“我爱读书”的字频,我:1,爱:1,读:1,书:1,学:0,习:0,特征向量为[1,1,1,1,0,0];统计“我爱学习”的字频,我:1,爱:1,读:0,书:0,学:1,习:1,特征向量为[1,1,0,0,1,1];计算两个向量的余弦相似度为0.75。
对于deep属性(即层级属性),作为一种可选的实施方式,待搜索元素与目标元素之的该属性的相似度=(FLOATDEEP-X))/FLOATDEEP;其中,X为待搜索元素的层级信息与匹配目标元素的层级信息之间的差值绝对值,FLOATDEEP为预设的层级变量。
在一些实施例中,若第二属性信息仅有一个,则只需计算该一个第二属性信息之间的相似度即可。
在另一些实施例中,若第二属性信息包括多个,则这多个属性信息可以分别设置对应的权重值,并基于权重值计算综合相似度。
因此,作为一种可选的实施方式,相似度的确定过程包括:确定待搜索元素的多个第二属性信息和第一目标元素的多个的第二属性信息之间的多个相似度;根据预设的多个第二属性信息分别对应的相似度权重值和多个相似度确定最终的相似度。
在这种实施方式中,先分别确定多个相似度,然后再结合预设的相似度权重值确定最终的相似度。可以理解,每个第二属性信息对应设置一个相似度权重值。
举例来说,最终的相似度可表示为:相似度=(text属性相似度*w1+tree_msg属性相似度*w2+deep属性相似度*w3)/3;w1,w2,w3是各个属性对应的权重值。
在一些实施例中,w1,w2,w3,即不同的第二属性信息对应的权重值,可以通过测试集的方式设定。例如:可以在基于测试集确定层级变量时,一并基于测试集确定该权重值。
进而,结合前述实施例的介绍,作为一种可选的实施方式,相似度权重值的确定过程包括:获取预设的测试集;测试集中包括测试元素和测试元素的标准搜索结果;基于预设的测试集和多个待测权重值确定测试元素的测试搜索结果;根据不同的待测权重值对应的测试搜索结果和标准搜索结果确定不同的待测权重值的准确率;根据不同的待测权重值的准确率确定所述预设的相似度权重值。
其中,多个待测权重值的取值范围可以是0-1,不同的待测权重值之间的间隔可以为0.001。对于准确率的确定方式,与前述的实施方式相同,在此不再重复介绍。
同样的,在另一些实施例中,这些权重值也可以由用户根据经验进行指定,在此不作限定。
此外,在一些实施例中,基于测试集,还可以实现层级变量和相似度权重值的同时确定。作为一种可选的实施方式,该确定过程包括:获取预设的测试集;预设的测试集中包括测试元素和测试元素的标准搜索结果;基于预设的测试集和多个待测参数组确定测试元素的测试搜索结果;每个待测参数组中均包括:待测相似度权重值和待测层级变量;根据不同的待测参数组对应的测试搜索结果和标准搜索结果确定不同的待测参数组的准确率;根据不同的待测参数组的准确率确定目标待测参数组;将目标待测参数组中的待测相似度权重值确定为预设的相似度权重值,以及将目标待测参数组中的待测层级变量确定为预设的层级变量。
在这种实施方式中,将待测相似度权重值和待测层级变量作为待测参数组进行测试,考量到相似度权重值和层级变量之间的相互影响作用,所确定出的层级变量和相似度权重值更为科学。
此外,不管是相似度权重值,还是前述的层级变量,在后续应用的过程中,还可以结合应用结果对测试集进行更新,并基于更新的测试集按照相同的方式更新相似度权重值和层级变量。
以相似度权重值为例,相似度权重值的更新过程包括:基于实际应用中的元素和元素的搜索结果更新预设的测试集,以使更新的测试集中包括更多的测试元素和对应的标准搜索结果;基于更新测试集和多个待测权重值确定测试元素的搜索结果;根据不同的待测权重值对应的搜索结果和标准搜索结果确定不同的待测权重值的准确率;根据不同的待测权重值的准确率重新确定预设的相似度权重值。
对于层级变量的更新,以及相似度权重值和层级变量结合更新,参照相似度权重值的更新方式,在此不再重复介绍。
进一步地,在确定最终的相似度之后,确定相似度中的最大相似度。然后将最大相似度与预设的相似度进行比较,若最大相似度大于预设的相似度,说明该最大相似度对应的第一目标元素符合需求,可将其确定为搜索结果;若最大相似度小于预设的相似度,则说明该最大相似度对应的匹配目标元素不符合需求,视为第一网页中不包含待搜索元素,即搜索失败。
在一些实施例中,预设相似度可以为0.5,或者其他允许的相似度取值,在此不作限定。
进而,结合上述的实施方式的介绍,待搜索元素的搜索结果包括两种,一种是第一网页中不包含待搜索元素,即搜索失败,代表没有搜索到对应的元素;另一种是第一网页中与待搜索元素对应的元素。
在一些实施例中,当搜索到对应的元素时,需要将该元素从搜索空间中删除,以避免其他的待搜索元素与该元素的不必要的匹配,节省匹配程序。
在一些实施例中,待搜索元素的数量为一个,当搜索结果为第一网页中不包含待搜索元素时,通知用户对RPA流程进行更改,例如:删除需要用到待搜索元素的针对网页的操作。当搜索结果为第一网页中对应的元素时,保持RPA流程不变。
在另一些实施例中,待搜索元素的数量为多个,整合各个待搜索元素的搜索结果,若第一网页中一个待搜索元素都不包含,则通知用户对RPA流程进行更改,例如:删除需要用到待搜索元素的针对网页的操作。若第一网页中包含一部分待搜索元素的对应的元素,则通知用户对RPA流程进行更改。例如:在第一网页中找到另一部分不包含的待搜索元素的替代元素,然后基于替代元素修改RPA流程。
若第一网页中包含各个待搜索元素,则保持RPA流程不变。
通过本申请实施例提供的搜索方法,可实现网页中的需求元素(即待搜索元素)的有效搜索,以基于搜索结果获知网页结构的变化以及网页元素的变化,从而根据网页结构的变化以及网页元素的变化对自动化流程进行调整,提高网页自动化流程的稳定性。并且,这种搜索方式,通过层级信息实现元素的大致筛选,在进行属性信息匹配时,只需要基于目标元素进行属性信息的匹配,提高搜索效率的同时,降低搜索出错的概率,实现元素的准确搜索。
为了便于更清楚的理解本申请实施例的技术方案,接下来举具体的实例介绍。
假设前述的图2的结构为原网页的结构,请结合参照图3,为新网页的结构。假设需要用到的节点(节点即元素,这里指待搜索元素)是图2中的1,15,4号节点;则,获取这三个节点的属性信息(仅示出属性信息的名称,未示出具体的属性信息)作为搜索目标,如下:
节点1:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点15:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点4:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list}。
其中,以上三个节点的deep属性分别是1,3和4,假设层级变量为1,则搜索空间对应在新网页中的0-2,2-4,3-5层,合并后为1,2,3,4,5层,对应新网页中的节点号为:1,2,3,4,5,9,12,13,14,15。则以上10个节点的信息为搜索空间。搜索空间信息(仅示出属性信息的名称,未示出具体的属性信息)如下:
节点1:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点2:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点3:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点4:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点5:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点9:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点12:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点13:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点14:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list};
节点15:{tag、id、class、text、tree_msg、xPath、deep、self_index、father_index、children_index_list}。
逐一对搜索目标在搜索空间中筛选:
节点1:
先基于tag,id,class三个属性进行筛选。在搜索空间中与节点1这三个属性都相同的仅有1个,为搜索空间中的节点1。因此将搜索目标的节点1与搜索空间的节点1相匹配,记录两者的xpath对应关系。并将节点1,从搜索空间中删除,此时节点空间仅剩9个节点。
节点15:
先基于tag,id,class三个属性进行筛选。在搜索空间中与节点1这三个属性都相同的有2个,为搜索空间中的节点12,15。
计算搜索目标的节点15与搜索空间的节点12的相似度:假设text属性都是空字符串,则相似度为1。假设tree_msg属性分别是“今天天气好”,“搜索信息框”,统计字频,搜索目标节点15,今:1,天:2,气:1,好:1,搜:0,索:0,信:0,息:0,框:0。字频向量为[1,2,1,1,0,0,0,0,0]。搜索空间的节点12的字频向量为[0,0,0,0,1,1,1,1,1]。两个向量余弦相似度为0。deep属性均为:3,则相似度为:(1-abs(3-3))/1=1。假设权重值分别为0.9、0.9和0.5,则总相似度为(1*0.9+0*0.9+1*0.5)/3=0.467。
计算搜索目标节点15与搜索空间的节点15的相似度:假设text属性都是空字符串,则相似度为1。假设tree_msg属性分别是“今天天气好”,“今天好天气”。统计字频,搜索目标的节点15,今:1,天:2,气:1,好:1,搜:0,索:0,信:0,息:0,框:0;字频向量为[1,2,1,1]。搜索空间的节点12的字频向量为[1,2,1,1];则,两个向量余弦相似度为1。deep属性分别为:3和4,相似度为:(1-abs(3-4))/1=0。假设权重值分别为0.9、0.9和0.5,则总相似度为(1*0.9+1*0.9+0*0.5)/3=0.6。
可见,搜索目标的节点15与搜索空间的节点15的相似度更高,且0.6大于0.5。因此确定搜索空间的节点15为搜索目标的节点15对应的节点。记录两者的xpathxPath对应关系,将搜索空间中的节点15删除,此时搜索空间仅剩8个节点。
节点4:
先基于tag,id,class三个属性进行筛选。在搜索空间中与节点1这三个属性都相同的有2个,为搜索空间中的节点4,13。
计算搜索目标的节点4与搜索空间的节点4的相似度:text属性分别是“晴天”,“借口”,相似度0。tree_msg属性分别是“歌曲晴天”,“歌曲借口”。统计字频,搜索目标的节点4,歌:1,曲:1,晴:1,天:1,借:0,口:0;字频向量为[1,1,1,1,0,0];搜索空间中的节点4的字频向量为[0,0,1,1,0,0],两个向量余弦相似度为0.75。deep属性为:4,4,相似度为:(1-abs(4-4))/1=1。假设权重值分别为0.9、0.9和0.5,则总相似度为(0*0.9+0.75*0.9+1*0.5)/3=0.3916。
计算搜索目标的节点4与搜索空间的节点13的相似度:text相似度为0,tree_msg属性分别是“歌曲晴天”,和“”,相似度为0。统计字频,搜索目标的节点4,歌:1,曲:1,晴:1,天:1;字频向量为[1,1,1,1]。搜索空间的节点13的字频向量为[0,0,0,0];两个向量余弦相似度为0。deep属性为:4,2,相似度为:(1-abs(4-2))/1=-1;基于前述的权重值,总相似度为(0*0.9+0*0.9+(-1)*0.5)/3=-1.667。
可见,搜索目标中的节点4与搜索空间的节点4的相似度更高,但0.3916小于0.5。
因此搜索空间中没有节点与搜索目标节点4相配,此时可以发出警报:原来的节点4无法找到,提示用户重新设计流程。
请参照图4,本申请实施例中还提供一种网页元素的搜索装置400,包括:获取模块410和搜索模块420。
获取模块410用于:获取待搜索元素的属性信息,以及获取第一网页中的元素的属性信息;所述待搜索元素的属性信息和所述第一网页中的元素的属性信息均包括层级信息,该层级信息用于表征对应的元素在其所在的网页中的数据层级。搜索模块420用于:根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围;根据所述目标层级范围和所述第一网页中的元素的层级信息确定所述第一网页中的目标元素;根据所述待搜索元素的属性信息和所述目标元素的属性信息确定所述待搜索元素的搜索结果。
在本申请实施例中,获取模块410具体用于:对第二网页进行网页结构解析,获得所述第二网页中的多个元素的属性信息;所述多个元素的属性信息包括路径属性信息;根据预设的所述待搜索元素的路径属性信息获取所述待搜索元素的属性信息。
在本申请实施例中,搜索模块420具体用于:在所述待搜索元素的层级信息的基础上,加上所述预设的层级变量,获得所述目标层级范围的上限层级;在所述待搜索元素的层级信息的基础上,减去所述预设的层级变量,获得所述目标层级范围的下限层级。
在本申请实施例中,搜索模块420具体用于:根据预设的层级变量和各个待搜索元素的层级信息确定多个目标层级范围;对所述多个目标层级范围进行合并去重处理,获得合并去重后的目标层级范围。
在本申请实施例中,搜索模块420具体用于:根据所述目标层级范围确定目标元素的层级信息;其中,所述目标元素的层级信息在所述目标层级范围内;根据所述目标元素的层级信息和所述第一网页中的元素的层级信息确定所述目标元素。
在本申请实施例中,获取模块410还用于:获取预设的测试集;所述测试集中包括测试元素和测试元素的标准搜索结果;搜索模块420还用于:基于所述预设的测试集和多个待测层级变量确定所述测试元素的测试搜索结果;根据不同的待测层级变量对应的测试搜索结果和所述标准搜索结果确定不同的待测层级变量的准确率;根据所述不同的待测层级变量的准确率确定所述预设的层级变量。
在本申请实施例中,搜索模块420具体用于:将所述待搜索元素的第一属性信息和所述目标元素的第一属性信息进行匹配,确定匹配目标元素的数量;所述匹配目标元素的第一属性信息与所述待搜索元素的第一属性信息一致;若所述匹配目标元素的数量为0,确定所述搜索结果为所述第一网页中不包含所述待搜索元素;若所述匹配目标元素的数量为1,确定所述匹配目标元素为所述待搜索元素的搜索结果。
在本申请实施例中,搜索模块420还用于:若所述匹配目标元素的数量大于1,确定所述待搜索元素的第二属性信息和所述匹配目标元素的第二属性信息之间的相似度;确定所述相似度中的最大相似度;若所述最大相似度大于预设的相似度,将所述最大相似度对应的匹配目标元素确定为所述待搜索元素的搜索结果;若所述最大相似度小于所述预设的相似度,确定所述搜索结果为所述第一网页中不包含所述待搜索元素。
在本申请实施例中,搜索模块420具体用于:确定所述待搜索元素的多个第二属性信息和所述第一目标元素的多个的第二属性信息之间的多个相似度;根据预设的多个第二属性信息分别对应的相似度权重值和所述多个相似度确定最终的相似度。
在本申请实施例中,获取模块410还用于:获取预设的测试集;所述预设的测试集中包括测试元素和测试元素的标准搜索结果;搜索模块420还用于:基于所述预设的测试集和多个待测相似度权重值确定所述测试元素的测试搜索结果;根据不同的待测相似度权重值对应的测试搜索结果和所述标准搜索结果确定不同的待测相似度权重值的准确率;根据不同的待测相似度权重值的准确率确定所述预设的相似度权重值。
在本申请实施例中,获取模块410还用于:获取预设的测试集;所述预设的测试集中包括测试元素和测试元素的标准搜索结果。搜索模块420还用于:基于预设的测试集和多个待测参数组确定所述测试元素的测试搜索结果;每个待测参数组中均包括:待测相似度权重值和待测层级变量;根据不同的待测参数组对应的测试搜索结果和标准搜索结果确定不同的待测参数组的准确率;根据不同的待测参数组的准确率确定目标待测参数组;将所述目标待测参数组中的待测相似度权重值确定为所述预设的相似度权重值,以及将所述目标待测参数组中的待测层级变量确定为所述预设的层级变量。
网页元素的搜索装置400与前述的网页元素的搜索方法对应,各个功能模块与搜索方法的各个步骤也对应,因此,各个功能模块的实施方式参照前述实施例中的介绍,在此不再重复介绍。
请参照图5,本申请实施例还提供一种电子设备500,其可以作为前述的网页元素的搜索方法的执行主体,包括:处理器510和与处理器510通信连接的存储器520。
其中,存储器520存储有可被处理器510执行的指令,指令被处理器510执行,以使处理器510能够执行前述实施例中的网页元素的搜索方法。
处理器510和存储器520可以通过通信总线连接。
可以理解,电子设备500还可以包括更多自身所需的通用模块,在本申请实施例不作一一介绍。
本申请实施例还提供一种计算机可读介质,计算机可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行前述实施例中所述的网页元素的搜索方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种网页元素的搜索方法,其特征在于,包括:
获取待搜索元素的属性信息,以及获取第一网页中的元素的属性信息;其中,所述待搜索元素的属性信息和所述第一网页中的元素的属性信息均包括层级信息,该层级信息用于表征对应的元素在其所在的网页中的数据层级;
根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围;
根据所述目标层级范围和所述第一网页中的元素的层级信息确定所述第一网页中的目标元素;
根据所述待搜索元素的属性信息和所述目标元素的属性信息确定所述待搜索元素的搜索结果。
2.根据权利要求1所述的网页元素的搜索方法,其特征在于,所述获取待搜索元素的属性信息,包括:
对第二网页进行网页结构解析,获得所述第二网页中的多个元素的属性信息;所述多个元素的属性信息包括路径属性信息;
根据预设的所述待搜索元素的路径属性信息获取所述待搜索元素的属性信息。
3.根据权利要求1所述的网页元素的搜索方法,其特征在于,所述根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围,包括:
在所述待搜索元素的层级信息的基础上,加上所述预设的层级变量,获得所述目标层级范围的上限层级;
在所述待搜索元素的层级信息的基础上,减去所述预设的层级变量,获得所述目标层级范围的下限层级。
4.根据权利要求1所述的网页元素的搜索方法,其特征在于,所述待搜索元素的数量为多个,所述根据预设的层级变量和所述待搜索元素的层级信息确定目标层级范围,包括:
根据预设的层级变量和各个待搜索元素的层级信息确定多个目标层级范围;
对所述多个目标层级范围进行合并去重处理,获得合并去重后的目标层级范围。
5.根据权利要求1所述的网页元素的搜索方法,其特征在于,所述根据所述目标层级范围和所述第一网页中的元素的层级信息确定所述第一网页中的目标元素,包括:
根据所述目标层级范围确定目标元素的层级信息;其中,所述目标元素的层级信息在所述目标层级范围内;
根据所述目标元素的层级信息和所述第一网页中的元素的层级信息确定所述目标元素。
6.根据权利要求1所述的网页元素的搜索方法,其特征在于,所述网页元素的搜索方法还包括:
获取预设的测试集;所述测试集中包括测试元素和测试元素的标准搜索结果;
基于所述预设的测试集和多个待测层级变量确定所述测试元素的测试搜索结果;
根据不同的待测层级变量对应的测试搜索结果和所述标准搜索结果确定不同的待测层级变量的准确率;
根据所述不同的待测层级变量的准确率确定所述预设的层级变量。
7.根据权利要求1所述的网页元素的搜索方法,其特征在于,所述待搜索元素和所述目标元素还均包括第一属性信息;所述根据所述待搜索元素的属性信息和所述目标元素的属性信息确定所述待搜索元素的搜索结果,包括:
将所述待搜索元素的第一属性信息和所述目标元素的第一属性信息进行匹配,确定匹配目标元素的数量;其中,所述匹配目标元素的第一属性信息与所述待搜索元素的第一属性信息一致;
若所述匹配目标元素的数量为0,确定所述搜索结果为所述第一网页中不包含所述待搜索元素;
若所述匹配目标元素的数量为1,确定所述匹配目标元素为所述待搜索元素的搜索结果。
8.根据权利要求7所述的网页元素的搜索方法,其特征在于,所述待搜索元素和所述目标元素还均包括第二属性信息;所述网页元素的搜索方法还包括:
若所述匹配目标元素的数量大于1,确定所述待搜索元素的第二属性信息和每个所述匹配目标元素的第二属性信息之间的相似度;
确定所述相似度中的最大相似度;
若所述最大相似度大于预设的相似度,将所述最大相似度对应的匹配目标元素确定为所述待搜索元素的搜索结果;
若所述最大相似度小于所述预设的相似度,确定所述搜索结果为所述第一网页中不包含所述待搜索元素。
9.根据权利要求8所述的网页元素的搜索方法,其特征在于,所述第二属性信息的数量为多个;所述确定所述待搜索元素的第二属性信息和所述匹配目标元素的第二属性信息之间的相似度,包括:
确定所述待搜索元素的多个第二属性信息和所述匹配目标元素的多个的第二属性信息之间的多个相似度;
根据预设的多个第二属性信息分别对应的相似度权重值和所述多个相似度确定最终的相似度。
10.根据权利要求9所述的网页元素的搜索方法,其特征在于,所述多个相似度包括:层级信息相似度;
所述层级信息相似度表示为:(FLOATDEEP-X)/FLOATDEEP;其中,X为待搜索元素的层级信息与匹配目标元素的层级信息之间的差值绝对值,FLOATDEEP为所述预设的层级变量。
11.根据权利要求9所述的网页元素的搜索方法,其特征在于,所述网页元素的搜索方法还包括:
获取预设的测试集;所述预设的测试集中包括测试元素和测试元素的标准搜索结果;
基于所述预设的测试集和多个待测相似度权重值确定所述测试元素的测试搜索结果;
根据不同的待测相似度权重值对应的测试搜索结果和所述标准搜索结果确定不同的待测相似度权重值的准确率;
根据不同的待测相似度权重值的准确率确定所述预设的相似度权重值。
12.根据权利要求9所述的网页元素的搜索方法,其特征在于,所述网页元素的搜索方法还包括:
获取预设的测试集;所述预设的测试集中包括测试元素和测试元素的标准搜索结果;
基于预设的测试集和多个待测参数组确定所述测试元素的测试搜索结果;每个待测参数组中均包括:待测相似度权重值和待测层级变量;
根据不同的待测参数组对应的测试搜索结果和标准搜索结果确定不同的待测参数组的准确率;
根据不同的待测参数组的准确率确定目标待测参数组;
将所述目标待测参数组中的待测相似度权重值确定为所述预设的相似度权重值,以及将所述目标待测参数组中的待测层级变量确定为所述预设的层级变量。
13.一种电子设备,其特征在于,包括:
处理器;与所述处理器通信连接的存储器;
其中,所述存储器存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如权利要求1至12任一项所述的网页元素的搜索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210603679.8A CN115062206B (zh) | 2022-05-30 | 2022-05-30 | 一种网页元素的搜索方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210603679.8A CN115062206B (zh) | 2022-05-30 | 2022-05-30 | 一种网页元素的搜索方法和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115062206A CN115062206A (zh) | 2022-09-16 |
CN115062206B true CN115062206B (zh) | 2023-04-07 |
Family
ID=83198427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210603679.8A Active CN115062206B (zh) | 2022-05-30 | 2022-05-30 | 一种网页元素的搜索方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115062206B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126426B (zh) * | 2023-04-10 | 2023-08-29 | 杭州城市大数据运营有限公司 | 基于Web服务系统的自动化组件解耦方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897361A (zh) * | 2017-01-10 | 2017-06-27 | 中电科华云信息技术有限公司 | 基于树状结构的标签页分组管理系统及方法 |
CN107562600A (zh) * | 2017-08-23 | 2018-01-09 | 广州阿里巴巴文学信息技术有限公司 | 页面检测方法、装置、计算设备以及存储介质 |
CN108572913A (zh) * | 2018-02-26 | 2018-09-25 | 挖财网络技术有限公司 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
CN109144871A (zh) * | 2018-08-17 | 2019-01-04 | 北京邮电大学 | 一种自动化测试元素的识别方法及装置 |
CN110888709A (zh) * | 2019-12-04 | 2020-03-17 | 中山市凯能集团有限公司 | 监控屏的智能操作方法、装置、计算机设备和存储介质 |
CN111368241A (zh) * | 2020-03-05 | 2020-07-03 | 苏州数字力量教育科技有限公司 | 基于XPath的网页元素识别方法 |
CN112579852A (zh) * | 2019-09-30 | 2021-03-30 | 厦门邑通软件科技有限公司 | 一种互动式网页数据精确采集方法 |
CN112685311A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
WO2021103557A1 (zh) * | 2019-11-29 | 2021-06-03 | 福州大学 | 一种网页结构化数据自适应提取方法 |
CN113094625A (zh) * | 2021-05-10 | 2021-07-09 | 北京京东振世信息技术有限公司 | 页面元素定位方法、装置、电子设备及存储介质 |
CN113177168A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种基于Web元素属性特征的定位方法 |
CN113901360A (zh) * | 2021-10-25 | 2022-01-07 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN114090155A (zh) * | 2021-11-17 | 2022-02-25 | 中国建设银行股份有限公司 | 机器人流程自动化界面元素定位方法、装置和存储介质 |
CN114518883A (zh) * | 2022-02-22 | 2022-05-20 | 杭州东上电子科技有限公司 | 一种基于dom树的rpa系统网页元素定位方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179658A1 (en) * | 2013-11-27 | 2016-06-23 | Ca, Inc. | User interface testing abstraction |
US20180052809A1 (en) * | 2016-08-16 | 2018-02-22 | Microsoft Technology Licensing, Llc | Inferring user interaction with an iframe |
US10970097B2 (en) * | 2019-06-19 | 2021-04-06 | Sap Se | Adaptive web-based robotic process automation |
US20210349430A1 (en) * | 2020-05-11 | 2021-11-11 | UiPath, Inc. | Graphical element search technique selection, fuzzy logic selection of anchors and targets, and/or hierarchical graphical element identification for robotic process automation |
-
2022
- 2022-05-30 CN CN202210603679.8A patent/CN115062206B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106897361A (zh) * | 2017-01-10 | 2017-06-27 | 中电科华云信息技术有限公司 | 基于树状结构的标签页分组管理系统及方法 |
CN107562600A (zh) * | 2017-08-23 | 2018-01-09 | 广州阿里巴巴文学信息技术有限公司 | 页面检测方法、装置、计算设备以及存储介质 |
CN108572913A (zh) * | 2018-02-26 | 2018-09-25 | 挖财网络技术有限公司 | 在安卓客户端UI自动化过程中定位App首页的方法、装置和应用 |
CN109144871A (zh) * | 2018-08-17 | 2019-01-04 | 北京邮电大学 | 一种自动化测试元素的识别方法及装置 |
CN112579852A (zh) * | 2019-09-30 | 2021-03-30 | 厦门邑通软件科技有限公司 | 一种互动式网页数据精确采集方法 |
WO2021103557A1 (zh) * | 2019-11-29 | 2021-06-03 | 福州大学 | 一种网页结构化数据自适应提取方法 |
CN110888709A (zh) * | 2019-12-04 | 2020-03-17 | 中山市凯能集团有限公司 | 监控屏的智能操作方法、装置、计算机设备和存储介质 |
CN111368241A (zh) * | 2020-03-05 | 2020-07-03 | 苏州数字力量教育科技有限公司 | 基于XPath的网页元素识别方法 |
CN112685311A (zh) * | 2020-12-30 | 2021-04-20 | 平安普惠企业管理有限公司 | 测试脚本自动生成方法、装置、计算机设备及存储介质 |
CN113177168A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种基于Web元素属性特征的定位方法 |
CN113094625A (zh) * | 2021-05-10 | 2021-07-09 | 北京京东振世信息技术有限公司 | 页面元素定位方法、装置、电子设备及存储介质 |
CN113901360A (zh) * | 2021-10-25 | 2022-01-07 | 联想(北京)有限公司 | 一种数据处理方法、装置及电子设备 |
CN114090155A (zh) * | 2021-11-17 | 2022-02-25 | 中国建设银行股份有限公司 | 机器人流程自动化界面元素定位方法、装置和存储介质 |
CN114518883A (zh) * | 2022-02-22 | 2022-05-20 | 杭州东上电子科技有限公司 | 一种基于dom树的rpa系统网页元素定位方法和系统 |
Non-Patent Citations (5)
Title |
---|
Leotta M 等.Automated generation of visual web tests from DOM-based web tests.《Proceedings of the 30th Annual ACM Symposium on Applied Computing》.2015,775-782. * |
于艳.《软件测试策略、设计及其自动化实战》.西安电子科技大学出版社,2019,318. * |
冯晶晶.基于Selenium的Web自动化测试框架的设计与实现.《中国优秀硕士学位论文全文数据库信息科技辑》.2019,(第05期), I138-530. * |
张弛 等.一种基于主题判定的网页元素XPath定位器生成方法.《小型微型计算机系统》.2019,第40卷(第04期),872-878. * |
彭洪超.于Android系统的自动化测试用例的实现和优化.《中国优秀硕士学位论文全文数据库信息科技辑》.2021,(第02期),I138-399. * |
Also Published As
Publication number | Publication date |
---|---|
CN115062206A (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824603B2 (en) | Concurrent enumeration of multiple hierarchies in a database environment | |
US11907203B2 (en) | Path encoded tree structures for operations | |
US20100169311A1 (en) | Approaches for the unsupervised creation of structural templates for electronic documents | |
US9626368B2 (en) | Document merge based on knowledge of document schema | |
CN106202514A (zh) | 基于Agent的突发事件跨媒体信息的检索方法及系统 | |
US9020879B2 (en) | Intelligent data agent for a knowledge management system | |
US20100185684A1 (en) | High precision multi entity extraction | |
CN108694208A (zh) | 用于构造数据库的方法和装置 | |
CN110945559B (zh) | 用于时间事件数据序列的优化视觉概要的方法和系统 | |
US9043321B2 (en) | Enhancing cluster analysis using document metadata | |
CN111353005A (zh) | 一种药品研发申报文档管理方法和系统 | |
US20140114949A1 (en) | Knowledge Management System | |
US20090204889A1 (en) | Adaptive sampling of web pages for extraction | |
CN115062206B (zh) | 一种网页元素的搜索方法和电子设备 | |
US20230350899A1 (en) | Query engine for recursive searches in a self-describing data system | |
CN105022824A (zh) | 无效链接的识别方法和装置 | |
EP2019362A2 (en) | Spatial data validation systems | |
US9305261B2 (en) | Knowledge management engine for a knowledge management system | |
US9720984B2 (en) | Visualization engine for a knowledge management system | |
US20180060404A1 (en) | Schema abstraction in data ecosystems | |
US11055275B2 (en) | Database revalidation using parallel distance-based groups | |
EP4174795A1 (en) | Multiple input machine learning framework for anomaly detection | |
CN115051863A (zh) | 异常流量检测的方法、装置、电子设备及可读存储介质 | |
CN110543467B (zh) | 时间序列数据库的模式转换方法及装置 | |
US11074401B2 (en) | Merging delta object notation documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |