CN116737147A - 走查元素的匹配方法、装置、计算机设备及存储介质 - Google Patents
走查元素的匹配方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN116737147A CN116737147A CN202310661041.4A CN202310661041A CN116737147A CN 116737147 A CN116737147 A CN 116737147A CN 202310661041 A CN202310661041 A CN 202310661041A CN 116737147 A CN116737147 A CN 116737147A
- Authority
- CN
- China
- Prior art keywords
- page
- matching
- elements
- development
- design
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000011161 development Methods 0.000 claims abstract description 196
- 238000013461 design Methods 0.000 claims abstract description 190
- 238000012163 sequencing technique Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 6
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 description 30
- 238000010586 diagram Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 4
- 238000012550 audit Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 235000013619 trace mineral Nutrition 0.000 description 1
- 239000011573 trace mineral Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Development Economics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Human Computer Interaction (AREA)
- Accounting & Taxation (AREA)
- Artificial Intelligence (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种走查元素的匹配方法、装置、计算机设备及存储介质,该方法包括:对待走查的开发页面进行开发页面元素提取,对对应的设计页面进行设计页面元素提取;根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对。本申请实现了基于页面结构的走查元素的高效准确匹配,提升了元素匹配的数量和质量,解决了元素匹配不全或误匹配的问题,实现了走查环节的更一步自动化发展。
Description
技术领域
本申请涉及UI设计技术领域,尤其涉及一种走查元素的匹配方法、装置、计算机设备及存储介质。
背景技术
工程师设计出的设计稿与开发实现的开发稿,往往会存在出入。人工对比耗时耗力,因此实现UI走查从人工到数字化的迭代更新,是业界都在尝试突破的难题。现有技术中,大部分是运用插件将设计稿和开发稿通过叠图的方式放在同一个窗口上进行比对,由人眼进行甄别。
上述方法数字化和自动化程度均不高。匹配作为UI走查中的重要一环,起到举足轻重的作用,只有在元素正确匹配的前提下,才能做到有效的查验。但是现有技术大部分依靠人工匹配,不仅耗时,效率不高,而且会出现大量匹配不全或误匹配等问题。
尤其在银行线上业务快速发展,开放银行业务增长迅速的环境下,新产品/系统上架、产品/系统内容变更频繁,且金融行业对各项设计的要求审核严格,面对巨量的版本迭代及页面设计,人工审查的速度难以满足需求,需要设计更可靠迅速的UI走查方法。
发明内容
本申请的主要目的在于提供一种走查元素的匹配方法、装置、计算机设备及存储介质,可以解决现有技术中的元素匹配非自动化以及匹配质量不高的技术问题。
为实现上述目的,本申请第一方面提供了一种走查元素的匹配方法,该方法包括:
对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
为实现上述目的,本申请第二方面提供了一种走查元素的匹配装置,该装置包括:
第一提取模块,用于对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
第二提取模块,用于对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
第一邻近元素确定模块,用于根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
第二邻近元素确定模块,用于根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
匹配度计算模块,用于根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
元素对确定模块,用于根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
为实现上述目的,本申请第三方面提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
为实现上述目的,本申请第四方面提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
采用本申请实施例,具有如下有益效果:
本申请通过页面元素在页面中的位置信息,确定页面元素之间的结构组成,进而确定相邻页面元素,根据相邻页面元素的相似性确定开发页面元素与设计页面元素的对应关系或匹配关系,实现了基于页面结构的走查元素的高效准确匹配,提升了元素匹配的数量和质量,解决了元素匹配不全或误匹配的问题,降低了人工参与的复杂度和人工成本,实现了走查环节的更一步自动化发展,为走查工作的有效进行提供了有力依据。本申请方案可适用于各种业务场景,特别适用于产品更新迭代频繁、产品上架时间紧迫的金融领域,例如银行、保险等金融科技行业。可以自动化、高效率、准确地对UI页面进行走查工作,满足金融行业线上业务快速发展,开放银行业务增长迅速的环境下,新产品/系统上架、产品/系统内容变更频繁,且金融行业对各项设计的要求审核严格,版本迭代及页面设计更新频率等各种需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
其中:
图1为本申请实施例中走查元素的匹配方法的流程图;
图2为本申请实施例中页面元素的排序效果示意图;
图3为本申请实施例中拓扑结构的示意图;
图4为本申请实施例中走查元素的匹配装置的结构框图;
图5为本申请实施例中计算机设备的结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的走查元素的匹配方法既可以应用于终端,也可应用于服务器,还可以由终端和服务端配合完成。终端和服务器通过网络连接,终端具体可以是台式终端或移动终端,移动终端具体可以是手机、平板电脑、笔记本电脑等中的至少一种。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
如图1所示,在一个实施例中,提供了一种走查元素的匹配方法。该走查元素的匹配方法具体包括如下步骤:
S100:对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息。
具体地,待走查的开发页面是根据对应的设计页面或设计稿通过前端开发出来的可供人机交互的网页页面,亦即用户界面(User Interface,简称UI)。待走查的开发页面可以为H5页面、电脑端页面(即PC页面)、应用程序(APP)页面和小程序页面等不局限于此。
获取待走查的开发页面的开发页面代码;
对开发页面代码进行解析,提取出每个开发页面元素的位置信息。
开发页面代码可以为待走查的开发页面的html代码;开发页面代码也可以是根据html代码生成的DOM树;开发页面代码还可以是浏览器解析html代码,生成DOM树和css树,浏览器根据DOM树和css树进行渲染得到的由javascript构建浏览器渲染后得到的代码。
开发页面元素是开发页面的基本组成单元,包括但不限于各种图标(例如应用图标、功能图标)、图片(图像)、控件、组件、导航栏、弹窗、表格、表单、文本等。
常用的控件包括:按钮、输入框、下拉列表、下拉菜单、单选框、复选框、选项卡、搜索框、分页、切换按钮、步进器、进度条、角标等。
组件包括:表格、对话框、提示条、日期选择器、多级选择器、标签输入框、组合框、上传等。
S200:对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息。
具体地,获取开发页面对应的设计页面的设计页面文件,设计页面即设计稿。对设计页面文件进行解析,可以提取出设计页面元素即设计稿元素,并获取每个设计页面元素的位置信息。
更具体地,获取开发页面对应的设计页面的设计页面代码;对设计页面代码进行解析,提取出每个设计页面元素的位置信息;或,获取开发页面对应的设计页面的元素描述信息;从元素描述信息中提取出每个设计页面元素的位置信息。
设计页面代码和元素描述信息均属于设计页面文件。设计页面代码可以是根据D2C(设计稿转代码)技术生成的。
设计页面的元素描述信息是从设计页面的相关文件中获取到的。例如设计页面为sketch类型的设计稿,sketch文件本身能够解压出图层树JSON,里面有每个元素的详细信息。因此,元素描述信息为JSON描述;从JSON描述中可以提取出每个设计页面元素的位置信息等其他元素属性信息。
S300:根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素。
具体地,位置信息即元素位置,位置信息可以包括元素的最小x坐标、最小y坐标、最大x坐标和最大y坐标;位置信息也可以包括元素的中心点坐标以及元素的长和宽,本申请对此不作限制。
根据开发页面元素的位置信息,可以确定各个开发页面元素在不同方位的相邻页面元素。例如,在上下左右4个方位的相邻页面元素。
开发页面元素的相邻页面元素即开发页面相邻元素。
S400:根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素。
具体地,根据设计页面元素的位置信息,可以确定各个设计页面元素在不同方位的相邻页面元素。例如,在上下左右4个方位的相邻页面元素。
设计页面元素的相邻页面元素即设计页面相邻元素。
S500:根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度。
具体地,每个开发页面元素对应有相邻页面元素,每个设计页面元素也对应有相邻页面元素。
基于网页设计元素布局和结构可知,如果某个开发页面元素所包含的相邻页面元素与某个设计页面元素所包含的相邻页面元素相同,则该开发页面元素与该设计页面元素极大可能是不同页面的同一元素。
基于此,可以根据每个开发页面元素与每个设计页面元素的相邻页面元素的相似性,得到每个开发页面元素与每个设计页面元素之间的匹配度。
其中,相邻页面元素的相似性,即,开发页面元素所包含的相邻页面元素与设计页面元素所包含的相邻页面元素的重合度。
S600:根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
具体地,正常情况下,开发页面上所存在的开发页面元素在设计页面上存在与之对应的设计页面元素。走查的目的之一是对开发页面上的开发页面元素与设计页面元素进行各种元素属性的比对,以判断在不同页面的同一个元素的各种元素属性是否一致。因此,在元素比对之前需要进行元素配对或匹配。
本实施例根据匹配度确定属于不同页面的同一页面元素的开发页面元素和设计页面元素。
开发页面元素与设计页面元素所包含的相邻页面元素重合度越高或相似性越高,则该开发页面元素与该设计页面元素的匹配度越高;匹配度越高,该开发页面元素与该设计页面元素越可能是不同页面的相同页面元素。
基于此,可以根据匹配度确定与开发页面元素匹配的设计页面元素。
本实施例通过页面元素在页面中的位置信息,确定页面元素之间的结构组成,进而确定相邻页面元素,根据相邻页面元素的相似性确定开发页面元素与设计页面元素的对应关系或匹配关系,实现了基于页面结构的走查元素的高效准确匹配,提升了元素匹配的数量,解决了元素匹配不全或误匹配的问题,降低了人工参与的复杂度和人工成本,实现了走查环节的更一步自动化发展。
本实施例可适用于各种业务场景,特别适用于产品更新迭代频繁、产品上架时间紧迫的金融领域,例如银行、保险等金融科技行业。可以自动化、高效率、准确地对UI页面进行走查工作,满足金融行业线上业务快速发展,开放银行业务增长迅速的环境下,新产品/系统上架、产品/系统内容变更频繁,且金融行业对各项设计的要求审核严格,版本迭代及页面设计更新频率等各种需求。
在一个实施例中,步骤S500具体包括:
计算待匹配元素与同一个候选匹配元素在相同方位上的相邻页面元素的子匹配度;
根据所有不同方位对应的子匹配度,得到待匹配元素与候选匹配元素的匹配度;
或者,
基于待匹配元素的相邻页面元素和候选匹配元素的相邻页面元素,获取待匹配元素与候选匹配元素的相邻页面元素的整体相似性,得到待匹配元素与候选匹配元素的匹配度。
具体地,待匹配元素与候选匹配元素为不同页面的页面元素。待匹配元素为开发页面元素,则候选匹配元素为设计页面元素;待匹配元素为设计页面元素,则候选匹配元素为开发页面元素。
本实施例会获取每个开发页面元素或设计页面元素在不同方位的相邻页面元素,例如,在上下左右4个方位的相邻页面元素。有的开发页面元素或设计页面元素在每个方位都有相邻页面元素;有的开发页面元素或设计页面元素在部分方位有相邻页面元素,在其他方位的相邻页面元素为空。
计算待匹配元素与同一个候选匹配元素在相同方位上的相邻页面元素的子匹配度,相当于计算待匹配元素与同一个候选匹配元素在相同方位上的相邻页面元素的相似性。
基于相同步骤,可以计算出待匹配元素与同一个候选匹配元素在每个方位上对应的子匹配度。
根据所有方位的子匹配度,得到该待匹配元素与候选匹配元素的匹配度。
例如,有上下左右4个方位,则根据4个方位的子匹配度,得到该待匹配元素与候选匹配元素的匹配度。
基于相同的步骤,可以得到待匹配元素与每个候选匹配元素对应的子匹配度以及匹配度。
在另外一个具体实施例中,不考虑相邻页面元素的方位,根据待匹配元素所包含的相邻页面元素和候选匹配元素所包含的相邻页面元素计算二者相邻页面元素的整体相似性,将该相邻页面元素的整体相似性作为二者的匹配度。
整体相似性可以根据二者共用的相邻页面元素的个数除以最大相邻页面元素个数。其中,最大相邻页面元素个数为待匹配元素所包含的相邻页面元素的个数与候选匹配元素所包含的相邻页面元素的个数中的最大值。
本实施例通过计算开发页面元素与设计页面元素在不同方位之间的子匹配度,进而得到开发页面元素与设计页面元素之间的匹配度,从方位维度,细粒度的分析两个元素的匹配度;或者,不考虑方位,从整体维度,粗粒度的分析两个元素的匹配度,可有效减少计算量。
在一个实施例中,根据所有不同方位对应的子匹配度,得到待匹配元素与候选匹配元素的匹配度,包括:
将所有不同方位对应的子匹配度组成待匹配元素与候选匹配元素的匹配度;
或,
对所有不同方位对应的子匹配度求和,得到待匹配元素与候选匹配元素的匹配度;
或,
对所有不同方位对应的子匹配度求和,计算匹配度之和与方位的总个数的比值,得到待匹配元素与候选匹配元素的匹配度。
具体地,在一个具体实施例中,由所有不同方位的子匹配度组成待匹配元素与候选匹配元素的匹配度。即,一个匹配度包括不同方位的多个子匹配度。
在另一个具体实施例中,对所有不同方位的子匹配度求和,将得到的子匹配度之和作为待匹配元素与一个候选匹配元素的匹配度。
在另一个具体实施例中,对所有不同方位的子匹配度求和,计算匹配度之和与方位的总个数的比值,将该比值作为待匹配元素与一个候选匹配元素的匹配度。其中,在不同计算中方位的总个数是相同的,例如均为上下左右4个。
在一个实施例中,步骤S600具体包括:
若匹配度包括不同方位的子匹配度,则将各个方位的子匹配度均超过对应匹配阈值的候选匹配元素与待匹配元素组成一元素对;
若匹配度为子匹配度之和,或,匹配度为子匹配度之和与方位的总个数的比值,则将最大匹配度对应的候选匹配元素与待匹配元素组成一元素对;
若匹配度为整体相似性,则将最大整体相似性对应的候选匹配元素与待匹配元素组成一元素对。
具体地,如果匹配度包括不同方位的子匹配度,则分别将不同方位的子匹配度与对应的匹配阈值进行比较。如果同一个候选匹配元素对应的所有子匹配度均超过对应的匹配阈值,则将该候选匹配元素作为待匹配元素的匹配元素,组成一个元素对。
各个方位对应的匹配阈值可以相同也可以不同,匹配阈值的取值根据实际应用场景配置,本申请对此不做限制。
在一个具体实施例中,如果存在至少两个不同的候选匹配元素对应的所有子匹配度均超过对应的匹配阈值,则对这至少两个不同的候选匹配元素中的每个候选匹配元素对应的所有子匹配度求和,将最大子匹配度之和的候选匹配元素与待匹配元素组成元素对。
在一个具体实施例中,如果存在至少两个不同的候选匹配元素对应的所有子匹配度均超过对应的匹配阈值,则将这至少两个不同的候选匹配元素中的所有候选匹配元素均作为疑似元素,分别对每个疑似元素对应的所有子匹配度求和,计算每个匹配度之和与方位的总个数的比值,将最大比值的疑似元素与待匹配元素组成元素对。
如果匹配度为子匹配度之和,则将最大匹配度(最大子匹配度之和)对应的候选匹配元素与待匹配元素组成一元素对。
如果匹配度为子匹配度之和与方位的总个数的比值,则将最大匹配度(最大比值)对应的候选匹配元素与待匹配元素组成一元素对。
如果匹配度为整体相似性,则将最大整体相似性对应的候选匹配元素与待匹配元素组成一元素对。
通过各个方位的子匹配度与匹配阈值的比较,可以从各个方位全面地对候选匹配元素与待匹配元素的进行是否为相同元素的评判,评判角度全面,评判结果更加准确。如果存在至少两个候选匹配元素的各个方位均超过对应的匹配阈值,则进一步根据子匹配度之和进行二次匹配,可以进一步增强元素匹配的准确度,筛选出唯一一个与待匹配元素匹配的候选匹配元素。
通过比值或子匹配度之和对待匹配元素和候选匹配元素进行整体匹配,可以实现快速匹配,减少计算量。
在一个实施例中,步骤S300具体包括:
根据开发页面元素的位置信息,基于预设的排序规则对开发页面元素进行排序,得到第一排序结果;
根据第一排序结果,确定每个开发页面元素在各个不同方位的相邻页面元素;
步骤S400具体包括:
根据设计页面元素的位置信息,基于相同的排序规则对设计页面元素进行排序,得到第二排序结果;
根据第二排序结果,确定每个设计页面元素在各个不同方位的相邻页面元素。
具体地,排序规则可以为:将同一个页面中top坐标(相对于页面上沿的值)相同的页面元素根据left坐标(相对于页面左边的值)按照左右顺序依次排在同一排,不同top坐标的页面元素按照上下顺序排在不同排,使得越靠近页面上沿的页面元素排在越上边,越靠页面左边的页面元素排在越左边。
页面元素的top坐标即位置信息中的最小y坐标,页面元素的left坐标即位置信息中的最小x坐标。或者,页面元素的top坐标即位置信息中的中心点坐标的y坐标,页面元素的left坐标即位置信息中的中心点坐标的x坐标。
如果是原始页面的话,由于图层缘故,元素之间有重叠或遮挡或半遮挡半重叠的情况,还可能有肉眼难以发掘的元素,本实施例可以对提取出的元素按照图层进行重新排序,解决图层问题。使得同一图层的元素进行排序,不同图层的元素的排序互不干扰,得到不同图层对应的排序结果。
另外,还可以对top坐标和left坐标取整数后再进行后续处理。
当然,本实施例也可以对所有图层的元素在同一层进行排序,将重叠或遮挡、位于不同图层的元素排在同一排且紧邻,得到整体排序结果。
图2为本申请实施例中开发页面(开发稿)中开发页面元素的排序效果示意图,和,设计页面(设计稿)中设计页面元素的排序效果示意图。图2举例性地示出了页面元素1-页面元素6的排序效果示意图。当然图2仅仅是示例性说明,并不限制本申请。
在一个实施例中,第一排序结果中使用开发页面元素标识指示对应的开发页面元素。
第二排序结果中使用设计页面元素标识指示对应的设计页面元素。
根据第一排序结果,确定每个开发页面元素在各个不同方位的相邻页面元素,包括:
根据第一排序结果将所有开发页面元素之间的相邻关系通过行列方式存储,得到第一行列表示;
根据第二排序结果,确定每个设计页面元素在各个不同方位的相邻页面元素,包括:
根据第二排序结果将所有设计页面元素之间的相邻关系通过行列方式存储,得到第二行列表示;
或者,
根据第一排序结果,确定每个开发页面元素在各个不同方位的相邻页面元素,包括:
根据第一排序结果将所有开发页面元素之间的相邻关系通过行列方式存储,得到第一行列表示;
遍历第一行列表示,以第一行列表示中各个开发页面元素为根节点,构建每个开发页面元素对应的拓扑结构,其中,拓扑结构以对应开发页面元素为根节点,以开发页面元素的相邻页面元素为子节点构建;
根据第二排序结果,确定每个设计页面元素在各个不同方位的相邻页面元素,包括:
根据第二排序结果将所有设计页面元素之间的相邻关系通过行列方式存储,得到第二行列表示;
遍历第二行列表示,以第二行列表示中各个设计页面元素为根节点,构建每个设计页面元素对应的拓扑结构,其中,拓扑结构以对应设计页面元素为根节点,以设计页面元素的相邻页面元素为子节点构建。
具体地,在一个具体实施例中,第一行列表示为第一矩阵或第一表格。第一矩阵的每个矩阵元素对应一个开发页面元素,因此,一个矩阵元素的上下左右4个方位的相邻矩阵元素,与对应开发页面元素的上下左右4个方位的相邻页面元素一致。第一矩阵相当于是开发页面元素与其相邻页面元素的映射。通过第一矩阵可以直观的反应开发页面元素之间的相邻关系。
如表1所示:
表1
A1 | A1 | A1 | A1 | A1 | A1 | A1 | A1 |
A2 | A2 | A2 | A2 | A2 | A3 | A3 | A3 |
A4 | A4 | A5 | A5 | A5 | A6 | A6 | A6 |
参考表1和图2,表1仅仅是第一矩阵或第一表格的示例性说明,并不代表第一矩阵和第一表格的真实表示方式。第一行包含页面元素1,第二行包含页面元素2和页面元素3,第三行包括页面元素4、页面元素5和页面元素6。因为每个页面元素均具有一定的长度和宽度,且各个页面元素的长度和宽度是不固定的,通过第一矩阵不仅需要反映页面元素之间的上下左右关系,还需要反映页面元素之间的相邻关系,这种相邻关系取决于元素的宽度,因此在构建第一矩阵时需要根据页面元素的宽度,使用相同页面元素标识重复填充第一矩阵的矩阵元素。
如表1所示,第一行只包含了页面元素1,使用其标识A1填充第一行的所有矩阵元素或单元格。
第二行包含页面元素2和页面元素3,按照二者的宽度比,分配第二行的矩阵元素或单元格,例如,给元素2分配了第二行前5个矩阵元素或单元格,给元素3分配了第二行后3个矩阵元素或单元格,然后分别使用A2和A3填充。
第三行包含页面元素4、元素5和页面元素6,按照三者的宽度比,分配第三行的矩阵元素或单元格,例如,给元素4分配了第三行前2个矩阵元素或单元格,给元素5分配了第三行的第3-5个矩阵元素或单元格,给元素6分配了第三行的第6-8个矩阵元素或单元格,然后分别使用A4、A5和A6填充。
与任意一个标识A1相邻的均属于A1的相邻页面元素,例如A2和A3。
与任意一个标识A2相邻的均属于A2的相邻页面元素,例如,A1、A3、A4和A5。
与任意一个标识A3相邻的均属于A3的相邻页面元素,例如,A1、A2和A6。
与任意一个标识A4相邻的均属于A4的相邻页面元素,例如,A2和A5。
与任意一个标识A5相邻的均属于A5的相邻页面元素,例如,A2、A4和A6。
与任意一个标识A6相邻的均属于A6的相邻页面元素,例如,A3和A5。
在一个具体实施例中,第一矩阵的行数和列数均为开发页面元素的个数。第一矩阵由行和列组成的矩阵元素存储有开发页面元素之间的相邻关系。
如表2所示:
表2
表2仅仅是一种示例性说明,并不由此限制本申请,且表2仅仅是对第一矩阵的表格性说明,并不代表第一矩阵的实际表示方式。参考表2,表2记录了页面元素A1-An中每个页面元素与其他页面元素之间的相邻关系,其中,0表示不相邻,1表示相邻;或者,0表示相邻,1表示不相邻。页面元素A1-An在第一矩阵中的位置是根据第一排序结果确定的。越靠近页面上沿且越靠近页面左边的页面元素在第一矩阵中所在的行和列越小。
根据表2可知,页面元素A1的相邻页面元素包括A1、A2和A5,A1是自身。
页面元素A2的相邻页面元素包括A1、A2、A3和A5,A2是自身。
页面元素A3的相邻页面元素包括A2、A3和A4,A3是自身。
页面元素A4的相邻页面元素包括A3和A4,A4是自身。
页面元素A5的相邻页面元素包括A1、A2和A5,A5是自身。
在一个具体实施例中,得到第一矩阵或第一表格后,以每个页面元素为根节点,构建对应的拓扑结构。一个页面元素的拓扑结构以该页面元素为根节点,以其相邻页面元素为子节点或叶子节点构建。参考图3的拓扑结构示意图。页面元素1包括两个bottom子节点:页面元素2和页面元素3。
页面元素2包括1个top子节点页面元素1、两个bottom子节点页面元素4和页面元素5、1个right子节点页面元素3。
页面元素3包括1个top子节点页面元素1、1个left子节点页面元素2和1个bottom子节点页面元素6。
页面元素4包括1个top子节点页面元素2、1个right子节点页面元素5。
页面元素5包括1个top子节点页面元素2、1个left子节点页面元素4、1个right子节点页面元素6。
页面元素6包括1个top子节点页面元素3、1个left子节点页面元素5。
当然,参考图3仅为示例性举例,本申请不作限制。
通过拓扑结构可以更清楚明了的获取的相邻页面元素的信息。
在一个实施例中,步骤S500具体包括:
从目标行列表示中获取待匹配元素的相邻页面元素,从另一个行列表示中获取候选匹配元素的相邻页面元素,根据待匹配元素的相邻页面元素和候选匹配元素的相邻页面元素的相似性,确定待匹配元素与候选匹配元素之间的匹配度。
具体地,目标行列表示为第一行列表示,另一个行列表示为第二行列表示。目标行列表示为第二行列表示,另一个行列表示为第一行列表示。
在一个实施例中,该方法还包括:
根据第一排序结果将所有开发页面元素的第一元素标识依次存入同一个第一数组中,得到每个开发页面元素在第一数组中的下标;
根据第二排序结果将所有开发页面元素的第二元素标识依次存入同一个第二数组中,得到每个开发页面元素在第二数组中的下标;
第一数组和第二数组使用相同的下标表示。
例如,第一数组的下标依次为A1、A2、A3、A4....A n。第二数组的下标依次为A1、A2、A3、A4....Am。n和m可能相等,也可能不等。
第一行列表示、第二行列表示以及拓扑结构均是通过页面元素在其数组中的下标做索引或标识。理论上,如果开发页面元素与某个设计页面元素为同一个页面元素,则其数组下标相同,其相邻页面元素的数值下标也相同。
基于此,计算待匹配元素与同一个候选匹配元素在相同方位上的相邻页面元素的子匹配度,包括:
根据目标行列表示获取待匹配元素的数组下标,以及待匹配元素在同一个方位的相邻页面元素的数组下标;
根据另一个行列表示获取候选匹配元素的数组下标,以及该候选匹配元素在同一个方位的相邻页面元素的数组下标;
对同一个方位、待匹配元素对应的数组下标与候选匹配元素对应的数组下标进行比较,获取该方位相同数值下标的组数;
获取待匹配元素对应的数组下标的数量、候选匹配元素对应的数组下标的数量中的最大值,或,计算待匹配元素对应的数组下标的数量与候选匹配元素对应的数组下标的数量的数量均值;
计算组数与最大值的比值,或,计算组数与数量均值的比值,将该比值作为待匹配元素与该候选匹配元素在该方位的子匹配度。
其中,候选匹配元素为未匹配的页面元素。已匹配的页面元素则不重复匹配,减少运算量。
例如,待匹配元素在top方位包括的top相邻元素的数组下标为A1、A2、A3、A5、A6;某个候选匹配元素在top方位包括的top相邻元素的数组下标为A1、A2、A3、A4。
则二者在top方位相同的数值下标包括A1、A2、A3共3个。
待匹配元素包括的数组下标有5个,候选匹配元素包括的数组下标有4个,取5和4中的最大值为5。
或者,求5和4的平均值,得4.5。
3/5或3/4.5为待匹配元素与该候选匹配元素在该top方位的子匹配度。
上述的匹配阈值可以取0.7、0.8、0.9等不大于1的数值,具体根据实际应用场景确定,本申请对此不作限制。
在一个实施例中,文字类页面元素的元素属性信息包括元素中的文案内容和元素的位置信息;该方法还包括:
若待匹配元素为文字类页面元素,则将另一页面中与待匹配元素的文案内容相同的页面元素作为候选元素;
根据待匹配元素的元素的位置信息和候选元素的元素的位置信息,计算待匹配元素与每个候选元素的交并比;
将交并比最大的候选元素与待匹配元素组成一元素对。
具体地,文字类页面元素是指包含文案内容的页面元素。例如,“退出”按钮的文案内容为“退出”,输入框的文案内容为“请输入手机号”、“请输入密码”等,导航条的文案内容包括“网页”、“图片”、“地图”、“文库”、“视频”、“问答”等。
元素的位置信息可以包括元素的最小x坐标、最小y坐标、最大x坐标和最大y坐标;元素的位置信息也可以包括元素的中心点坐标以及元素的长和宽,本申请对此不作限制。
对于文字类页面元素,为了减少匹配量,可以根据文案内容进行初次匹配,文案内容完全相同的才有可能是同一个元素。
待匹配元素如果是开发页面中的元素,则候选元素是设计页面的元素;待匹配元素如果是设计页面的元素,则候选元素是开发页面的元素。
根据待匹配元素的文案内容去另外一个页面中查找与待匹配元素的文案内容相同的候选元素,候选元素也属于文字类页面元素。待匹配元素可能对应多个不同的候选元素。
文案内容相同不一定是匹配的元素,因此还需要根据元素的位置信息对待匹配元素与候选元素进行二次匹配,以确保匹配的准确性。
理论上,如果设计页面与开发页面完全吻合,不同页面的同一元素的元素的位置信息是相同的,但是本申请的目的是找出设计页面与开发页面不吻合的地方,因此,即使是不同页面的同一元素,其元素的位置信息也可能存在差异,因此本实施例采用交并比来衡量待匹配元素与候选元素的重叠度。待匹配元素与候选元素重叠度越高,二者越可能匹配。
交并比(Intersection over union,简称IOU),用于计算两个边框的交集和并集之比。
每个候选元素与待匹配元素均对应一个交并比,从这些交并比中选择最大交并比,将最大交并比所对应的候选元素作为待匹配元素的匹配元素,组成一个元素对。
例如,根据待匹配元素A的元素的位置信息,确定待匹配元素A的对角坐标为(xminA,yminA)和(xmaxA,ymaxA);根据候选元素B的元素的位置信息,确定该候选元素B的对角坐标为(xminB,yminB)和(xmaxB,ymaxB)。
交并比为
或者,交并比为
每个候选元素B与待匹配元素A均对应一个交并比,从这些交并比中选择最大交并比,将最大交并比所对应的候选元素B作为待匹配元素A的匹配元素,组成一个元素对。
在另一个具体实施例中,还可以将待匹配元素A的对角坐标与候选元素B的对角坐标进行差值计算。例如计算xminA与xminB的差值得到第一差值,计算yminA与yminB的差值得到第二差值,计算xmaxA与xmaxB的差值得到第三差值,计算ymaxA与ymaxB的差值得到第四差值。
对第一差值、第二差值、第三差值和第四差值求均值或求和,得到待匹配元素A与该候选元素B的位置差异。将最小位置差异对应的候选元素B与待匹配元素A组成元素对。
本实施例通过文案内容和交并比对文字类页面元素进行双重匹配,可以有效提高元素匹配的准确性,进而提高UI走查的精准度。
在一个具体实施例中,还可以先对文字类页面元素按照前述的文案内容匹配方法进行匹配后,再使用步骤S500-S600,跳过文字类页面元素,不再对文字类页面进行重复匹配。可以有效减少对其他元素匹配的计算量。
在一个实施例中,在步骤S600之后,该方法还包括:
对同一个元素对中匹配的开发页面元素和设计页面元素求元素距离;
根据所有元素距离筛选出异常元素距离;
将异常元素距离所对应的开发页面元素和设计页面元素判定为假性匹配。
具体地,本实施例用于校验匹配的页面元素的可信度,通过元素距离来筛选异常元素距离,元素距离可以是欧式距离等不局限于此。对这些距离取众数,将在众数之外距离的匹配要素认为是假性匹配。
值得注意的是,本申请是以页面的左上角为原点或参考原点来计算位置信息或定位相对位置和坐标的。
参考图4,本申请还提供了一种走查元素的匹配装置,该装置包括:
第一提取模块100,用于对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
第二提取模块200,用于对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
第一邻近元素确定模块300,用于根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
第二邻近元素确定模块400,用于根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
匹配度计算模块500,用于根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
元素对确定模块600,用于根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
本申请用于对UI走查匹配环节的增强,能对开发稿和设计稿中因为坐标平移而失配的要素做很好的匹配重建。其次本申请利用矩阵或表格的特性,可以更快进行要素相邻关系或拓扑关系的建立,效率高。不仅如此,该方法通用性强,可以用到相关的存在位置关系的匹配场景里,比如地图相关要素匹配。当然最重要的是,该方法可用有效改善UI走查中页面元素匹配的成功率和准确性,推动了UI走查自动化进程的进一步发展,减少人工成本,解放人力。
本申请可以应用于走查环节,通过内容上传、走查元素获取、元素匹配、属性比对和结果展示等步骤实现了全套走查工作。本申请利用行之有效的元素匹配和属性对比,减少了人工参与和人工成本投入,提高了行内UI走查的自动化程度。本申请推动了行内UI走查的数字化程度,促进了传统UI走查变革。不仅如此,本申请实现了友好的走查交互方式,极大降低了使用者上手的难度,方便走查工作的开展。本申请方便根据实际应用场景设计出符合特殊场景特殊走查需求的走查方案,特别适用于金融、银行、保险等安全要求较高的领域的走查工作,侵入性小,可靠性高。
图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是终端,也可以是服务器。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现上述方法实施例中的各个步骤。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行上述方法实施例中的各个步骤。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
在一个实施例中,提出了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:
对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
对开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
根据开发页面元素的位置信息,确定每个开发页面元素的相邻页面元素;
根据设计页面元素的位置信息,确定每个设计页面元素的相邻页面元素;
根据开发页面元素与设计页面元素的相邻页面元素的相似性,确定开发页面元素与设计页面元素之间的匹配度;
根据匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个元素对包括匹配的开发页面元素和设计页面元素。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种走查元素的匹配方法,其特征在于,所述方法包括:
对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
对所述开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
根据所述开发页面元素的位置信息,确定每个所述开发页面元素的相邻页面元素;
根据所述设计页面元素的位置信息,确定每个所述设计页面元素的相邻页面元素;
根据所述开发页面元素与所述设计页面元素的相邻页面元素的相似性,确定所述开发页面元素与所述设计页面元素之间的匹配度;
根据所述匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个所述元素对包括匹配的开发页面元素和设计页面元素。
2.根据权利要求1所述的方法,其特征在于,所述根据所述开发页面元素与所述设计页面元素的相邻页面元素的相似性,确定所述开发页面元素与所述设计页面元素之间的匹配度,包括:
计算待匹配元素与同一个候选匹配元素在相同方位上的相邻页面元素的子匹配度;根据所有不同方位对应的子匹配度,得到所述待匹配元素与所述候选匹配元素的匹配度;
或者,
基于所述待匹配元素的相邻页面元素和所述候选匹配元素的相邻页面元素,获取待匹配元素与候选匹配元素的相邻页面元素的整体相似性,得到所述待匹配元素与所述候选匹配元素的匹配度。
3.根据权利要求2所述的方法,其特征在于,所述根据所有不同方位对应的子匹配度,得到所述待匹配元素与所述候选匹配元素的匹配度,包括:
将所有不同方位对应的子匹配度组成所述待匹配元素与所述候选匹配元素的匹配度;
或,
对所有不同方位对应的子匹配度求和,得到所述待匹配元素与所述候选匹配元素的匹配度;
或,
对所有不同方位对应的子匹配度求和,计算匹配度之和与方位的总个数的比值,得到所述待匹配元素与所述候选匹配元素的匹配度。
4.根据权利要求3所述的方法,其特征在于,所述根据所述匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,包括:
若所述匹配度包括不同方位的子匹配度,则将各个方位的子匹配度均超过对应匹配阈值的候选匹配元素与所述待匹配元素组成一元素对;
若所述匹配度为子匹配度之和,或,所述匹配度为子匹配度之和与方位的总个数的比值,则将最大匹配度对应的候选匹配元素与所述待匹配元素组成一元素对;
若所述匹配度为整体相似性,则将最大整体相似性对应的候选匹配元素与所述待匹配元素组成一元素对。
5.根据权利要求1所述的方法,其特征在于,所述根据所述开发页面元素的位置信息,确定每个所述开发页面元素的相邻页面元素,包括:
根据所述开发页面元素的位置信息,基于预设的排序规则对所述开发页面元素进行排序,得到第一排序结果;
根据所述第一排序结果,确定每个所述开发页面元素在各个不同方位的相邻页面元素;
所述根据所述设计页面元素的位置信息,确定每个所述设计页面元素的相邻页面元素,包括:
根据所述设计页面元素的位置信息,基于相同的排序规则对所述设计页面元素进行排序,得到第二排序结果;
根据所述第二排序结果,确定每个所述设计页面元素在各个不同方位的相邻页面元素。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一排序结果,确定每个所述开发页面元素在各个不同方位的相邻页面元素,包括:
根据所述第一排序结果将所有开发页面元素之间的相邻关系通过行列方式存储,得到第一行列表示;
所述根据所述第二排序结果,确定每个所述设计页面元素在各个不同方位的相邻页面元素,包括:
根据所述第二排序结果将所有设计页面元素之间的相邻关系通过行列方式存储,得到第二行列表示;
或者,
所述根据所述第一排序结果,确定每个所述开发页面元素在各个不同方位的相邻页面元素,包括:
根据所述第一排序结果将所有开发页面元素之间的相邻关系通过行列方式存储,得到第一行列表示;
遍历所述第一行列表示,以所述第一行列表示中各个开发页面元素为根节点,构建每个开发页面元素对应的拓扑结构,其中,所述拓扑结构以对应开发页面元素为根节点,以所述开发页面元素的相邻页面元素为子节点构建;
所述根据所述第二排序结果,确定每个所述设计页面元素在各个不同方位的相邻页面元素,包括:
根据所述第二排序结果将所有设计页面元素之间的相邻关系通过行列方式存储,得到第二行列表示;
遍历所述第二行列表示,以所述第二行列表示中各个设计页面元素为根节点,构建每个设计页面元素对应的拓扑结构,其中,所述拓扑结构以对应设计页面元素为根节点,以所述设计页面元素的相邻页面元素为子节点构建。
7.根据权利要求1所述的方法,其特征在于,在所述根据所述匹配度对属于不同页面的同一页面元素进行匹配,得到元素对之后,所述方法还包括:
对同一个元素对中匹配的开发页面元素和设计页面元素求元素距离;
根据所有所述元素距离筛选出异常元素距离;
将所述异常元素距离所对应的开发页面元素和设计页面元素判定为假性匹配。
8.一种走查元素的匹配装置,其特征在于,所述装置包括:
第一提取模块,用于对待走查的开发页面进行开发页面元素提取,获取每个开发页面元素的位置信息;
第二提取模块,用于对所述开发页面对应的设计页面进行设计页面元素提取,获取每个设计页面元素的位置信息;
第一邻近元素确定模块,用于根据所述开发页面元素的位置信息,确定每个所述开发页面元素的相邻页面元素;
第二邻近元素确定模块,用于根据所述设计页面元素的位置信息,确定每个所述设计页面元素的相邻页面元素;
匹配度计算模块,用于根据所述开发页面元素与所述设计页面元素的相邻页面元素的相似性,确定所述开发页面元素与所述设计页面元素之间的匹配度;
元素对确定模块,用于根据所述匹配度对属于不同页面的同一页面元素进行匹配,得到元素对,其中,每个所述元素对包括匹配的开发页面元素和设计页面元素。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述计算机程序被所述处理执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310661041.4A CN116737147A (zh) | 2023-06-05 | 2023-06-05 | 走查元素的匹配方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310661041.4A CN116737147A (zh) | 2023-06-05 | 2023-06-05 | 走查元素的匹配方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737147A true CN116737147A (zh) | 2023-09-12 |
Family
ID=87910861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310661041.4A Pending CN116737147A (zh) | 2023-06-05 | 2023-06-05 | 走查元素的匹配方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116737147A (zh) |
-
2023
- 2023-06-05 CN CN202310661041.4A patent/CN116737147A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200012876A1 (en) | Text detection method, storage medium, and computer device | |
CN110502985B (zh) | 表格识别方法、装置及表格识别设备 | |
US11023540B2 (en) | Web page clustering method and device | |
CN110490190B (zh) | 一种结构化图像文字识别方法及系统 | |
CN113837151A (zh) | 表格图像处理方法、装置、计算机设备及可读存储介质 | |
CN111857704A (zh) | 一种布局关系的代码生成方法及装置 | |
CN115546809A (zh) | 基于单元格约束的表格结构识别方法及其应用 | |
CN115240213A (zh) | 表格图像识别方法、装置、电子设备及存储介质 | |
CN116682130A (zh) | 图签信息的提取方法、装置、设备及可读存储介质 | |
WO2021047327A1 (zh) | 目标概念图谱的构建方法、装置、计算机设备和存储介质 | |
CN110688995B (zh) | 地图查询的处理方法,计算机可读存储介质和移动终端 | |
CN111340788B (zh) | 硬件木马版图检测方法、装置、电子设备和可读存储介质 | |
CN111881049A (zh) | 一种应用程序界面的验收方法、装置及电子设备 | |
CN110321405B (zh) | 模型匹配方法、装置、计算机可读存储介质和计算机设备 | |
CN116737147A (zh) | 走查元素的匹配方法、装置、计算机设备及存储介质 | |
CN108364024B (zh) | 图像匹配方法、装置、计算机设备和存储介质 | |
CN111709422A (zh) | 基于神经网络的图像识别方法、装置和计算机设备 | |
CN113408032B (zh) | 一种生成门窗大样图的方法、设备及可读存储介质 | |
CN115797955A (zh) | 基于单元格约束的表格结构识别方法及其应用 | |
CN112766269B (zh) | 一种图片文本检索方法、智能终端及存储介质 | |
CN115116084A (zh) | 引注识别方法、装置、设备及存储介质 | |
WO2022110492A1 (zh) | 指静脉身份识别方法、装置、计算机设备和存储介质 | |
CN111880776B (zh) | 一种层级关系获得方法、装置及电子设备 | |
CN108647288A (zh) | 企业关系的挖掘方法、装置、计算机设备及存储介质 | |
CN114491238A (zh) | 职位信息的推荐方法、装置、电子设备及存储介质 |
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 |