CN111078339B - 界面元素定位方法、装置、计算机设备和存储介质 - Google Patents
界面元素定位方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111078339B CN111078339B CN201911199744.XA CN201911199744A CN111078339B CN 111078339 B CN111078339 B CN 111078339B CN 201911199744 A CN201911199744 A CN 201911199744A CN 111078339 B CN111078339 B CN 111078339B
- Authority
- CN
- China
- Prior art keywords
- interface element
- interface
- target interface
- target
- plug
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本申请涉及一种界面元素定位方法、装置、计算机设备和存储介质,所述方法包括:识别多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息;通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架;从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件;根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。上述方法减少界面元素定位工作量从而提高界面元素定位效率。
Description
技术领域
本申请涉及界面元素处理技术领域,特别是涉及一种界面元素定位方法、装置、计算机设备和存储介质。
背景技术
目前Windows操作系统有多种UI(User Interface,用户界面)构建框架,如WPF、MFC、WinForm、java、HTML等。由于每种UI构建框架的底层实现机制不同,针对相应框架的界面元素定位技术也不尽相同。基于这种情况,为了兼容各种UI构建框架,在实现界面元素定位时需要为每种框架实现相应的操作动作。特别是利用RPA(Robotic ProcessAutomation,软件流程自动化)设计器对不同UI构建框架的界面进行界面元素定位时,需要根据不同UI构建框架设置不同的操作动作。当增加新的UI构建框架时,为了对新UI构建框架对应的界面进行界面元素定位,需要根据新UI构建框架对应的界面元素定位技术设置新的操作动作。因此,导致界面元素定位的工作量大,使得界面元素定位的效率低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够减少界面元素定位的工作量从而提高界面元素定位效率的界面元素定位方法、装置、计算机设备和存储介质。
一种界面元素定位方法,该方法包括:识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息;通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架;从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件;根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
在其中一个实施例中,界面元素定位方法还包括:获取多种界面生成框架对应的多种界面元素定位插件;根据多种界面元素定位插件的接口信息生成通用接口。
在其中一个实施例中,界面元素定位方法还包括:分别对多种界面元素定位插件设置插件类名;从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件,包括:根据目标界面元素的元素类名和多种界面元素定位插件的插件类名从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
在其中一个实施例中,分别对多种界面元素定位插件设置插件类名,包括:分别对多种界面元素定位插件设置描述信息文件,描述信息文件包含界面元素定位插件的插件类名以及界面元素定位插件的动态链接库文件的名称;采用目标界面元素定位插件获取目标界面元素的定位信息,包括:获取目标界面元素定位插件的动态链接库文件的名称;根据动态链接库文件的名称加载目标界面元素定位插件的动态链接库文件;通过调用动态链接库文件的内部方法的方式获取目标界面元素的定位信息。
在其中一个实施例中,通过通用接口读取到目标界面元素,包括:获取用于展示界面元素的目标界面;当目标界面中的任一界面元素被触发时,通过通用接口读取任一界面元素,将任一界面元素作为目标界面元素。
在其中一个实施例中,界面元素定位方法还包括:当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息;根据位置信息获取目标界面元素的唯一标识信息;将目标界面元素的定位信息和唯一标识信息进行关联,以使得通过唯一标识信息获取到定位信息。
在其中一个实施例中,当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息,包括:通过目标界面的界面光标触发任一界面元素时,获取界面光标的位置信息;根据界面光标的位置信息获取目标界面元素的唯一标识信息。
一种界面元素定位装置,该装置包括:第一识别模块,用于识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息;第二识别模块,用于通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架;获取模块,用于从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件;定位模块,用于根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一实施例方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
上述界面元素定位方法、装置、计算机设备和存储介质,通过多种界面元素定位插件对应的通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架。进一步地,从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件,根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,将目标界面元素发送到目标界面元素定位插件,以采用目标界面元素定位插件获取目标界面元素的定位信息。因此,只需要使用通用接口读取界面元素,将对应的目标界面元素发送给对应的目标界面元素定位插件进行界面元素定位即可,无需为不同界面元素定位插件设置不同的读取界面元素的操作动作,减少了界面元素定位时的操作动作,从而减少界面元素定位的工作量以提高界面元素定位效率。
附图说明
图1为一个实施例中一种界面元素定位方法的应用环境图;
图2为一个实施例中一种界面元素定位方法的流程示意图;
图3为另一个实施例中一种界面元素定位方法的流程示意图;
图4为一个实施例中通用接口的设计示意图;
图5为一个实施例中多种界面元素定位插件的结构简易图;
图6为一个实施例中S103的流程示意图;
图7为一个实施例中Chrome浏览器的定位演示的界面示意图;
图8为一个实施例中Chrome浏览器的定位通信的界面示意图;
图9为一个实施例中客户端的定位演示的界面示意图;
图10为一个实施例中Sap系统的定位演示的界面示意图;
图11为一个实施例中一种界面元素定位装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的一种界面元素定位方法,应用于如图1所示的应用环境中。服务器110用于实现本申请的一种界面元素定位方法。其中,服务器110可以是支持RPA设计器运行的计算机设备。服务器110与终端设备120通信连接。终端设备120可以展示使用不同界面生成框架(如UI构建框架)生成的界面,例如WPF框架生成的界面、MFC框架生成的界面、WinForm框架生成的界面、Java框架生成的界面、HTML框架生成的界面等。针对终端设备120中展示的不同界面生成框架生成的界面,服务器110存储有不同的界面元素定位插件,以用于对终端设备120展示的界面中的界面元素进行定位。具体地,服务器110识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息。通过通用接口从终端设备120中读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架。从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件,根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
在具体的实施场景中,如图1所示,若终端设备120展示某一种界面生成框架生成的第一界面121,当鼠标触发选择第一界面121中的目标界面元素以进行元素定位操作时,服务器110采用上述方法识别到目标界面元素对应的界面生成框架,并匹配出用于对该目标界面元素进行元素定位的界面元素定位插件,利用该界面元素定位插件对第一界面121中的目标界面元素进行定位,并将定位结果反馈到终端设备120,终端设备120通过界面123展示定位结果。若终端设备120展示另外一种界面生成框架生成的第二界面125,当鼠标触发选择第二界面125中的目标界面元素以进行元素定位操作时,服务器110采用上述方法识别到目标界面元素对应的界面生成框架,并匹配出用于对该目标界面元素进行元素定位的界面元素定位插件,利用该界面元素定位插件对第二界面125中的目标界面元素进行定位,并将定位结果反馈到终端设备120,终端设备120通过界面127展示定位结果。
在一个实施例中,如图2所示,提供了一种界面元素定位方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S101,识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息。
在本实施例中,界面元素定位插件用于对界面中的界面元素进行定位操作。不同界面生成框架生成的界面,其界面元素对应的界面元素定位插件也不同。具体地,界面元素定位插件根据不同界面生成框架利用不同的界面元素定位技术对界面元素进行元素定位。本实施例中的多种界面元素定位插件针对不同界面生成框架进行设置。服务器针对该多种界面元素定位插件设置有对应的通用接口。该通用接口为统一对外接口,用于读取不同界面生成框架生成的界面中的界面元素。其中,通用接口可以是已经生成的或者临时根据多种界面元素定位插件生成的接口。在该通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息。也即是,通过读取通用接口中的接口调用信息,可以调用各界面元素定位插件接口,从而可以把通过通用接口读取到界面元素发送到各对应的界面元素定位插件,以由对应的界面元素定位插件进行元素定位。具体地,在通用接口的接口实现类中对各界面元素定位插件接口的接口调用进行接口申明。在通用接口读取到界面元素时,根据通用接口的接口实现类中的接口申明,可以调用对应的界面元素定位插件接口。
S103,通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架。
在本实施例中,服务器通过通用接口从终端设备中读取目标界面元素,并获取目标界面元素的元素类名,即解析目标界面元素的代码信息,以获取代码信息中的classname。每个界面元素的classname表征该界面元素对应的界面生成框架。因此,可通过获取到的元素类名识别出目标界面元素对应的目标界面生成框架。
S105,从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
在本实施例中,不同的界面生成框架对应不同的界面元素定位插件。服务器根据目标界面元素对应的目标界面生成框架从多种界面元素定位插件筛选出与目标界面生成框架匹配的目标界面元素定位插件,筛选出的目标界面元素定位插件能够对目标界面元素进行元素定位。
S107,根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
在本实施例中,服务器确定出用于对目标界面元素进行元素定位的目标界面元素定位插件之后,通过通用接口中的接口调用信息获取该目标界面元素定位插件的目标接口,并调用目标接口,将从通用接口中获得的目标界面元素发送到目标界面元素定位插件。进一步地,通过目标界面元素定位插件获取目标界面元素的定位信息,因此实现了对目标界面元素的元素定位。
上述界面元素定位方法,通过多种界面元素定位插件对应的通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架。进一步地,从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件,根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,将目标界面元素发送到目标界面元素定位插件,以采用目标界面元素定位插件获取目标界面元素的定位信息。因此,只需要使用通用接口读取界面元素,将对应的目标界面元素发送给对应的目标界面元素定位插件进行界面元素定位即可,无需为不同界面元素定位插件设置不同的读取界面元素的操作动作,减少了界面元素定位时的操作动作,从而减少界面元素定位的工作量以提高界面元素定位效率。
在一个实施例中,如图3所示,步骤S101之前,还包括:
S1011,获取多种界面生成框架对应的多种界面元素定位插件。
S1013,根据多种界面元素定位插件的接口信息生成通用接口。
在该实施例中,通用接口为根据多种界面生成框架对应的多种界面元素定位插件的接口信息生成的接口,因此可以通过通用接口调用各个界面元素定位插件的接口。在一具体实施例中,步骤S1013包括:分别根据各种界面元素定位插件的接口信息生成各种界面元素定位插件的接口调用信息,根据各种界面元素定位插件的接口调用信息生成通用接口。其中,通用接口中包含有各种界面元素定位插件的接口调用信息。
具体地,如图4所示,假设UILocator为针对UI构建框架生成的界面的界面元素定位器,用于对UI界面的界面元素进行元素定位。UILocator可以对多种类别的UI构建框架生成的界面进行元素定位。例如IE界面、Sap界面,Chrome界面等。UILocator设置统一对外接口,即通用接口,通用接口的接口设置参见图4所示。该UILocator内包括IE界面的界面元素定位插件IELocator、Sap界面的界面元素定位插件SapLocator和Chrome界面的界面元素定位插件ChromeLocator。其中,UILocator针对其内部实现定位的定位类的所有方法体进行了接口申明,IELocator、SapLocator、ChromeLocator为这些方法体的接口的实现类,内部定义了各个UI框架的具体实现。具体参见图4所示。因此,可通过UILocator的接口读取界面元素之后,由界面元素定位插件IELocator、SapLocator或ChromeLocator获取界面元素的定位信息。
在一个实施例中,步骤S105之前,还包括:分别对多种界面元素定位插件设置插件类名。此时,步骤S105包括:根据目标界面元素的元素类名和多种界面元素定位插件的插件类名从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
服务器对各种界面元素定位插件设置对应的插件类名。插件类名用于表征该界面元素定位插件用于对与该插件类名匹配的界面元素进行元素定位。当服务器获取到目标界面元素的元素类名时,根据目标界面元素的元素类名和多种界面元素定位插件的插件类名从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。具体地,将目标界面元素的元素类名分别与各种界面元素定位插件的插件类名进行比对。当目标界面元素的元素类名与任一界面元素定位插件的插件类名匹配时,匹配的目标界面元素定位插件即为与目标界面生成框架匹配的目标界面元素定位插件。
在一个实施例中,分别对多种界面元素定位插件设置插件类名,包括:分别对多种界面元素定位插件设置描述信息文件,描述信息文件包含界面元素定位插件的插件类名以及界面元素定位插件的动态链接库文件的名称。此时,采用目标界面元素定位插件获取目标界面元素的定位信息,包括:获取目标界面元素定位插件的动态链接库文件的名称;根据动态链接库文件的名称加载目标界面元素定位插件的动态链接库文件;通过调用动态链接库文件的内部方法的方式获取目标界面元素的定位信息。
在一具体实施例中,分别对多种界面元素定位插件设置描述信息文件。描述信息文件包括界面元素定位插件的显示名称、用于进行插件匹配时的界面元素定位插件的插件类名以及界面元素定位插件的动态链接库文件的名称。使用UIAutomation技术获取目标界面元素的clasname,由于每种界面生成框架,如UI构建框架,都有其特定的clasname,可根据获取到的clasname与各插件的描述信息文件进行比对,从而匹配出对应的界面元素定位插件。对于插件的匹配以及匹配插件后执行的元素定位,如图5所示。UILocator通过定位的方式获取界面元素的classsname。例如定位java窗体时,传入clasname=SunAwt*,读取PluginDesc.json文件(描述信息文件),然后读取mod_filename(模块文件名称)获取该模块使用的插件文件JavaLocatorPlugin.dll(动态链接库文件),通过动态加载该dll文件实现对dll文件内部方法的调用。
例如,Plugindesc.json文件格式如下:
在一实施例中,如图6所示,步骤S103中,通过通用接口读取到目标界面元素,包括:
S1031,获取用于展示界面元素的目标界面。
S1033,当目标界面中的任一界面元素被触发时,通过通用接口读取任一界面元素,将任一界面元素作为目标界面元素。
在该实施例中,定义出界面元素定位器的通用接口之后,设置通用接口支持的各项功能。如,接口对应的鼠标单击功能、鼠标双击功能、根据鼠标位置获取目标元素的唯一标识符以及获取目标元素在显示器上位置与大小等。通用接口设置后,界面元素定位器获取用于展示界面元素的目标界面,当目标界面中的任一界面元素被触发时,通过通用接口读取任一界面元素,将任一界面元素作为目标界面元素。触发的方式可以是,鼠标单击任一界面元素、鼠标双击任一界面元素以及鼠标框选任一界面元素等。
在一实施例中,步骤S101之后,还包括:当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息;根据位置信息获取目标界面元素的唯一标识信息;将目标界面元素的定位信息和唯一标识信息进行关联,以使得通过唯一标识信息获取到定位信息。
在一个实施例中,当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息,包括:通过目标界面的界面光标触发任一界面元素时,获取界面光标的位置信息;根据界面光标的位置信息获取目标界面元素的唯一标识信息。
具体地,当目标界面中的任一界面元素被鼠标点击触发时,获取鼠标在目标界面的位置信息。其中,鼠标在目标界面中显示为界面光标的形式。界面光标在目标界面的位置信息即为任一界面元素在目标界面中的位置信息。此时触发的任一界面元素为目标界面元素。进一步地,根据位置信息获取目标界面元素的唯一标识信息。唯一标识信息可以是该目标界面元素在目标界面中展示时携带的ID(Identity document,身份标识信息)信息。若目标界面元素未携带有任何标识信息,则服务器对该目标界面元素设置唯一标识信息。进而,将目标界面元素的定位信息和唯一标识信息进行关联,以使得通过唯一标识信息获取到定位信息。因此,界面元素定位器可以根据唯一标识信息和目标界面元素的定位信息从目标界面中查找目标界面元素。
对于上述多种界面元素定位插件,以下给出几种界面元素定位插件的类型以及对应的插件安装方式。
不同界面元素生成框架(UI框架)采用的底层定位逻辑不同,目前将Chrome和java采用插件化的方式来做交互定位。插件安装如下:
1、Chrome插件安装
1)关闭当前已打开的Chrome窗口或直接关闭后台Chrome进程。
2)点击界面元素设计器选项--》安装Chrome插件;安装完毕后,弹出安装成功的提示信息。
3)重启Chrome浏览器,弹出已添加Rpa NativeMessage Plugin提示,点击启用扩展程序即可。
2、java插件安装
1)配置java_home环境变量。
2)点击界面元素设计器选项--》安装java插件。
对于上述多种界面元素定位插件,其定位演示及结果如下:
1、Chrome浏览器
定位演示如图7所示,定位通信如图8所示,定位结果如下:
2、客户端
客户端无插件,采用UIAutomation底层的获取元素元素来定位交互。定位演示如图9所示,定位结果如下:
3、Sap系统
Sap系统也不需要插件,采用标准的GUI协议来和SapUI元素定位交互。定位演示如图10所示,定位结果如下所示:
本申请还提供一种界面元素定位装置,如图11所示,该装置包括第一识别模块10、第二识别模块20、获取模块30以及定位模块40。
第一识别模块10,用于识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息。
第二识别模块20,用于通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架。
获取模块30,用于从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
定位模块40,用于根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
在其中一个实施例中,界面元素定位装置可以包括(图11未示出):
生成模块,获取多种界面生成框架对应的多种界面元素定位插件;根据多种界面元素定位插件的接口信息生成通用接口。
在其中一个实施例中,界面元素定位装置可以包括(图11未示出):
设置模块,用于分别对多种界面元素定位插件设置插件类名;
获取模块30包括第一获取单元,用于根据目标界面元素的元素类名和多种界面元素定位插件的插件类名从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
在其中一个实施例中,设置模块包括描述信息设置单元,用于分别对多种界面元素定位插件设置描述信息文件,描述信息文件包含界面元素定位插件的插件类名以及界面元素定位插件的动态链接库文件的名称;
定位模块40还包括定位执行单元,用于获取目标界面元素定位插件的动态链接库文件的名称;根据动态链接库文件的名称加载目标界面元素定位插件的动态链接库文件;通过调用动态链接库文件的内部方法的方式获取目标界面元素的定位信息。
在其中一个实施例中,第二识别模块20包括第二获取单元,用于获取用于展示界面元素的目标界面;当目标界面中的任一界面元素被触发时,通过通用接口读取任一界面元素,将任一界面元素作为目标界面元素。
在其中一个实施例中,界面元素定位装置可以包括(图11未示出):
关联模块,用于当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息;根据位置信息获取目标界面元素的唯一标识信息;将目标界面元素的定位信息和唯一标识信息进行关联,以使得通过唯一标识信息获取到定位信息。
在其中一个实施例中,关联模块还包括第三获取单元,用于通过目标界面的界面光标触发任一界面元素时,获取界面光标的位置信息;根据界面光标的位置信息获取目标界面元素的唯一标识信息。
关于界面元素定位装置的具体限定可以参见上文中对于界面元素定位方法的限定,在此不再赘述。上述界面元素定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是支持RPA设计器运行的服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端连接,以读取终端上的界面元素信息。该计算机程序被处理器执行时以实现一种界面元素定位方法。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息;通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架;从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件;根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:获取多种界面生成框架对应的多种界面元素定位插件;根据多种界面元素定位插件的接口信息生成通用接口。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:分别对多种界面元素定位插件设置插件类名;处理器执行计算机程序实现上述的从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件步骤时,具体实现以下步骤:根据目标界面元素的元素类名和多种界面元素定位插件的插件类名从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
在其中一个实施例中,处理器执行计算机程序实现上述的分别对多种界面元素定位插件设置插件类名步骤时,具体实现以下步骤:分别对多种界面元素定位插件设置描述信息文件,描述信息文件包含界面元素定位插件的插件类名以及界面元素定位插件的动态链接库文件的名称;处理器执行计算机程序实现上述的采用目标界面元素定位插件获取目标界面元素的定位信息步骤时,具体实现以下步骤:获取目标界面元素定位插件的动态链接库文件的名称;根据动态链接库文件的名称加载目标界面元素定位插件的动态链接库文件;通过调用动态链接库文件的内部方法的方式获取目标界面元素的定位信息。
在其中一个实施例中,处理器执行计算机程序实现上述的通过通用接口读取到目标界面元素步骤时,具体实现以下步骤:获取用于展示界面元素的目标界面;当目标界面中的任一界面元素被触发时,通过通用接口读取任一界面元素,将任一界面元素作为目标界面元素。
在其中一个实施例中,处理器执行计算机程序时实现以下步骤:当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息;根据位置信息获取目标界面元素的唯一标识信息;将目标界面元素的定位信息和唯一标识信息进行关联,以使得通过唯一标识信息获取到定位信息
在其中一个实施例中,处理器执行计算机程序实现上述的当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息步骤时,具体实现以下步骤:通过目标界面的界面光标触发任一界面元素时,获取界面光标的位置信息;根据界面光标的位置信息获取目标界面元素的唯一标识信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
识别出多种界面元素定位插件对应的通用接口,通用接口中配置有用于指示调用各界面元素定位插件接口的接口调用信息;通过通用接口读取到目标界面元素时,获取目标界面元素的元素类名,并根据元素类名识别出目标界面元素对应的目标界面生成框架;从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件;根据通用接口中的接口调用信息调用目标界面元素定位插件的目标接口,通过目标接口将目标界面元素发送到目标界面元素定位插件,采用目标界面元素定位插件获取目标界面元素的定位信息。
在其中一个实施例中,计算机程序被处理器执行实现以下步骤:获取多种界面生成框架对应的多种界面元素定位插件;根据多种界面元素定位插件的接口信息生成通用接口。
在其中一个实施例中,计算机程序被处理器执行实现以下步骤:分别对多种界面元素定位插件设置插件类名;计算机程序被处理器执行实现上述的从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件步骤时,具体实现以下步骤:根据目标界面元素的元素类名和多种界面元素定位插件的插件类名从多种界面元素定位插件中获取与目标界面生成框架匹配的目标界面元素定位插件。
在其中一个实施例中,计算机程序被处理器执行实现上述的分别对多种界面元素定位插件设置插件类名步骤时,具体实现以下步骤:分别对多种界面元素定位插件设置描述信息文件,描述信息文件包含界面元素定位插件的插件类名以及界面元素定位插件的动态链接库文件的名称;计算机程序被处理器执行实现上述的采用目标界面元素定位插件获取目标界面元素的定位信息步骤时,具体实现以下步骤:获取目标界面元素定位插件的动态链接库文件的名称;根据动态链接库文件的名称加载目标界面元素定位插件的动态链接库文件;通过调用动态链接库文件的内部方法的方式获取目标界面元素的定位信息。
在其中一个实施例中,计算机程序被处理器执行实现上述的通过通用接口读取到目标界面元素步骤时,具体实现以下步骤:获取用于展示界面元素的目标界面;当目标界面中的任一界面元素被触发时,通过通用接口读取任一界面元素,将任一界面元素作为目标界面元素。
在其中一个实施例中,计算机程序被处理器执行时实现以下步骤:当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息;根据位置信息获取目标界面元素的唯一标识信息;将目标界面元素的定位信息和唯一标识信息进行关联,以使得通过唯一标识信息获取到定位信息
在其中一个实施例中,计算机程序被处理器执行实现上述的当目标界面中的任一界面元素被触发时,获取任一界面元素在目标界面中的位置信息步骤时,具体实现以下步骤:通过目标界面的界面光标触发任一界面元素时,获取界面光标的位置信息;根据界面光标的位置信息获取目标界面元素的唯一标识信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.根据权利要求6所述的方法,其特征在于,所述当所述目标界面中的任一界面元素被触发时,获取所述任一界面元素在所述目标界面中的位置信息,包括:
通过所述目标界面的界面光标触发所述任一界面元素时,获取所述界面光标的位置信息;
根据所述界面光标的位置信息获取所述目标界面元素的唯一标识信息。
8.一种界面元素定位装置,其特征在于,所述装置包括:
第一识别模块,用于识别出多种界面元素定位插件对应的通用接口,所述通用接口中配置有用于指示调用各所述界面元素定位插件接口的接口调用信息;
第二识别模块,用于通过所述通用接口读取到目标界面元素时,获取所述目标界面元素的元素类名,并根据所述元素类名识别出所述目标界面元素对应的目标界面生成框架;
获取模块,用于从所述多种界面元素定位插件中获取与所述目标界面生成框架匹配的目标界面元素定位插件;
定位模块,用于根据所述通用接口中的所述接口调用信息调用所述目标界面元素定位插件的目标接口,通过所述目标接口将所述目标界面元素发送到所述目标界面元素定位插件,采用所述目标界面元素定位插件获取所述目标界面元素的定位信息。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199744.XA CN111078339B (zh) | 2019-11-29 | 2019-11-29 | 界面元素定位方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911199744.XA CN111078339B (zh) | 2019-11-29 | 2019-11-29 | 界面元素定位方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111078339A CN111078339A (zh) | 2020-04-28 |
CN111078339B true CN111078339B (zh) | 2022-11-11 |
Family
ID=70312060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911199744.XA Active CN111078339B (zh) | 2019-11-29 | 2019-11-29 | 界面元素定位方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111078339B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102399907B1 (ko) * | 2020-09-08 | 2022-05-18 | 유아이패스, 인크. | 애플리케이션 특유의 그래픽 요소 검출 |
CN112182468A (zh) * | 2020-10-14 | 2021-01-05 | 北京新纽科技有限公司 | 一种兼容客户端界面元素与网页页面元素的定位和解析方法 |
CN113296857A (zh) * | 2020-11-04 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 信息无障碍化处理方法、装置及电子设备 |
CN112882625B (zh) * | 2021-02-10 | 2022-05-17 | 南京苏宁软件技术有限公司 | 元素拾取方法、装置、计算机设备和存储介质 |
CN112559112B (zh) * | 2021-02-25 | 2021-05-14 | 智道网联科技(北京)有限公司 | 界面节点定位方法及装置 |
CN113495775B (zh) * | 2021-09-07 | 2021-12-03 | 长沙博为软件技术股份有限公司 | Rpa定位控件元素的组合定位系统、方法、设备及介质 |
CN113934487B (zh) * | 2021-09-18 | 2024-01-23 | 达而观数据(成都)有限公司 | 一种用户界面元素定位方法、系统、计算机设备和存储介质 |
CN114816401B (zh) * | 2022-04-13 | 2022-12-23 | 上海弘玑信息技术有限公司 | 界面元素的定位方法、电子设备及存储介质 |
CN115061685B (zh) * | 2022-06-30 | 2023-07-21 | 上海弘玑信息技术有限公司 | 软件客户端的界面元素定位方法及电子设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516333A (zh) * | 2015-12-23 | 2016-04-20 | 北京奇虎科技有限公司 | 一种基于网页的交互方法和系统 |
CN106293753A (zh) * | 2016-08-16 | 2017-01-04 | 网易(杭州)网络有限公司 | 编辑器的开发方法和装置,编辑方法及编辑器 |
CN109271162A (zh) * | 2018-09-03 | 2019-01-25 | 中国建设银行股份有限公司 | 一种页面生成方法和装置 |
CN109766158A (zh) * | 2018-12-27 | 2019-05-17 | 益萃网络科技(中国)有限公司 | 用户界面的展示方法、装置、计算机设备和存储介质 |
-
2019
- 2019-11-29 CN CN201911199744.XA patent/CN111078339B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516333A (zh) * | 2015-12-23 | 2016-04-20 | 北京奇虎科技有限公司 | 一种基于网页的交互方法和系统 |
CN106293753A (zh) * | 2016-08-16 | 2017-01-04 | 网易(杭州)网络有限公司 | 编辑器的开发方法和装置,编辑方法及编辑器 |
CN109271162A (zh) * | 2018-09-03 | 2019-01-25 | 中国建设银行股份有限公司 | 一种页面生成方法和装置 |
CN109766158A (zh) * | 2018-12-27 | 2019-05-17 | 益萃网络科技(中国)有限公司 | 用户界面的展示方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111078339A (zh) | 2020-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111078339B (zh) | 界面元素定位方法、装置、计算机设备和存储介质 | |
CN108304498B (zh) | 网页数据采集方法、装置、计算机设备和存储介质 | |
CN109814854B (zh) | 项目框架生成方法、装置、计算机设备和存储介质 | |
CN108388515B (zh) | 测试数据生成方法、装置、设备以及计算机可读存储介质 | |
US10282185B2 (en) | Method and apparatus for firmware virtualization | |
CN106325847B (zh) | 基于iOS平台获取应用程序功能的方法和装置 | |
CN109597618B (zh) | 程序开发方法、装置、计算机设备及存储介质 | |
CN111796799B (zh) | 子应用开发方法、装置、计算机设备及存储介质 | |
CN110888709A (zh) | 监控屏的智能操作方法、装置、计算机设备和存储介质 | |
CN112100078A (zh) | 一种生成接口测试用例的方法、装置及设备 | |
CN114371841A (zh) | 前端项目代码生成方法、装置、计算机设备和存储介质 | |
US9571557B2 (en) | Script caching method and information processing device utilizing the same | |
CN111414309B (zh) | 应用程序的自动化测试方法、计算机设备和存储介质 | |
CN112612706A (zh) | 自动化测试方法、计算机设备及存储介质 | |
CN113032078A (zh) | 页面展示方法、装置、电子设备和计算机可读存储介质 | |
CN110837500B (zh) | 基于socal内嵌窗口的数据筛选方法、装置以及计算机设备 | |
CN110989986A (zh) | 基于软件模板的软件生成方法、装置和计算机设备 | |
CN113495764B (zh) | 自动化数据提取方法、装置、计算机设备和存储介质 | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN111177624B (zh) | 网站前后端通讯方法、装置、计算机设备和存储介质 | |
CN114003486A (zh) | 一种插件调试方法、客户端、服务器及存储介质 | |
CN113986385A (zh) | 项目字体库加载方法、装置、电子设备及存储介质 | |
CN112486838A (zh) | 接口测试方法、装置、计算机设备和存储介质 | |
CN110941459A (zh) | 调用Replugin插件的方法及装置 | |
CN117234512B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |