CN112565523A - 一种自动处理弹窗方法及装置 - Google Patents
一种自动处理弹窗方法及装置 Download PDFInfo
- Publication number
- CN112565523A CN112565523A CN202011528779.6A CN202011528779A CN112565523A CN 112565523 A CN112565523 A CN 112565523A CN 202011528779 A CN202011528779 A CN 202011528779A CN 112565523 A CN112565523 A CN 112565523A
- Authority
- CN
- China
- Prior art keywords
- popup
- node
- node element
- condition
- historical
- 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.)
- Granted
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
Abstract
本申请提供一种自动处理弹窗方法及装置,其中所述自动处理弹窗方法包括:对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。通过本申请提供的方法,可以监测当前展示页面中的弹窗情况,并且可以根据捕获节点元素的情况进行针对性的处理,保证了对处理弹窗的高效性和针对性。
Description
技术领域
本申请涉及互联网技术领域,特别涉及一种自动处理弹窗方法。本申请同时涉及一种自动处理弹窗装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
随着手机行业的发展,各种手机应用程序也层出不穷。在用户使用手机应用程序的过程中,出于各种需要,会在手机应用程序中弹出弹窗,例如广告或者用户协议。
现有技术一般采用人力手工处理的方法对出现的弹窗进行处理,也有使用基于UI(用户界面)控件搜索框架的方法进行处理。但使用手工处理弹窗不仅操作繁琐且重复性高,也会耗时耗力,处理弹窗的效率不高。而使用UI(用户界面)控件搜索框架会出现处理弹窗的效果不稳定、不能同时支持多个手机应用程序等问题。
发明内容
有鉴于此,本申请实施例提供了一种自动处理弹窗方法。本申请同时涉及一种自动处理弹窗装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的人工处理弹窗效率低、UI(用户界面)控件搜索框架处理弹窗稳定性差的问题。
根据本申请实施例的第一方面,提供了一种自动处理弹窗方法,包括:
对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;
在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;
在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
根据本申请实施例的第二方面,提供了一种自动处理弹窗装置,包括:
监测模块,被配置为对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;
第一处理模块,被配置为在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;
第二处理模块,被配置为在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
根据本申请实施例的第三方面,提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现所述一种自动处理弹窗方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现所述一种自动处理弹窗方法的步骤。
本申请提供的一种自动处理弹窗方法,对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
本申请一实施例通过监测当前展示页面,捕获当前展示页面中的节点元素,保证了在当前展示页面中可以及时、准确的处理出现的弹窗,有效提升了对弹窗的处理效率;根据捕获节点元素的情况进行针对性的处理,进一步保证了对弹窗处理的准确性,弥补了现有技术中存在的处理弹窗不稳定、不能同时支持多个应用程序的缺陷。
附图说明
图1是本申请一实施例提供的一种自动处理弹窗方法的流程图;
图2a是本申请一实施例提供的一种应用于手机终端的一种自动处理弹窗方法的处理流程图;
图2b是本申请一实施例提供的一种应用于手机终端的一种自动处理弹窗方法基于poco框架的处理流程图;
图2c是本申请一实施例提供的一种应用于手机终端的一种自动处理弹窗方法基于Android调试桥的处理流程图;
图3是本申请一实施例提供的手机插件安装示意图;
图4是本申请一实施例提供的手机应用进程示意图;
图5是本申请一实施例提供的弹窗操作失败场景示意图;
图6是本申请一实施例提供的一种自动处理弹窗装置示意图;
图7是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本申请一个或多个实施例涉及的名词术语进行解释。
手机应用程序:App(Application),指安装在手机中的软件。
UI:用户界面(User Interface)。
ADB:(Android Debug Bridge)安卓调试桥接工具。
Poco:用于创建跨平台的应用程序。
栈:是元素的集合是一种抽象数据类型,按照后入先出的规则进行存储。
在本申请中,提供了一种自动处理弹窗方法,本申请同时涉及一种自动处理弹窗装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种自动处理弹窗方法的流程图,具体包括以下步骤:
步骤S102:对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素。
需要说明的是,本申请中的节点元素,表示在当前展示页面中的控件,也包括在当前展示页面中出现的弹窗。例如,在捕获当前展示页面中节点元素成功的情况下,被捕获的节点元素中包括出现的弹窗。另外,在未成功捕获当前展示页面中的节点元素的情况下,弹窗也可以独立于节点元素,单独对弹窗进行处理。
在实际应用中,本申请提供的方法可以内嵌于应用程序中,在所述应用程序启动后即可开始对当前展示页面进行监控。例如,在手机移动端,本申请提供的方法可以以内嵌于手机应用进程的方式安装至手机移动端,开启进程后在手机后台运行,在需要监测的手机应用程序开启后,可以对该进程进行实时监控,并对所述进程中出现的弹窗进行处理,也可以周期性的对所述进程进行监控,本申请对此不作具体限定。
在实际应用中,可以根据具体的使用情况自行设定冻结当前展示页面的频率。例如,可以通过预设的时间间隔冻结当前展示页面,如0.5秒或0.3秒冻结并捕获一次当前展示页面中的节点元素。
通过对当前展示页面进行监测,并获取当前展示页面中的节点元素,保证了在当前展示页面中可以及时、准确的处理出现的弹窗,有效提升了对弹窗的处理效率。
步骤S104:在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理。
需要说明的是,所述节点元素的历史弹窗成功处理数据中,保存的数据为节点元素的类型和与所述类型对应的操作方法。例如,在所述节点元素的历史弹窗成功处理数据中保存有节点元素A,以及与节点元素A对应的操作方法:向右滑动。
在实际应用中,假设已经成功捕获当前展示页面中的节点元素B,节点元素B中包括一个需要处理的弹窗,则在节点元素的历史弹窗成处理数据中查找对节点元素B对应的弹窗,并根据所述节点元素的历史弹窗成功处理数据中与所述弹窗对应的操作方法对所述节点元素B中的弹窗进行处理。
根据节点元素的历史弹窗成功处理数据对被捕获的节点元素进行操作,保证了可以快速、准确地对节点元素中包含的弹窗进行处理。
具体的,所述节点元素包括条件字段与目标字段,所述条件字段用于记录所述节点元素的文本信息,所述目标字段用于记录所述节点元素的操作方法。
在实际应用中,例如,当前有一个待处理的节点元素C,其中,节点元素C中的条件字段用于存储节点元素C的文本信息:“确定”,节点元素C的目标字段用于存储节点元素C的操作方法:“点击一次”。
本实施例一个可选的实施方式中,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理,包括:
将所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段进行匹配;
在所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段匹配的情况下,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作。
在实际应用中,首先根据节点元素的文本信息与历史弹窗成功处理数据中节点元素的文本信息进行比较,在比较结果匹配的情况下,则确定当前被捕获的节点元素与所述历史弹窗成功处理数据中保存的节点元素相符,其次调用所述历史弹窗成功处理数据中保存的节点元素的目标字段中的操作方法,根据所述操作方法对被捕获的节点元素进行操作。
例如,现有一节点元素D,首先根据节点元素D条件字段中的文本信息:“取消”,在节点元素的历史弹窗成功处理数据中,查找与节点元素D匹配的节点元素。在匹配到文本信息与节点元素D相符的节点元素E时,根据节点元素E的操作方法:“向右滑动”对节点元素D进行操作。
首先根据文本信息在历史弹窗成功处理数据中匹配对应的节点元素,其次根据对应节点元素的操作方法对待处理的节点元素进行操作,进一步保证了可以准确、快速地对待处理的节点元素进行操作,也保证了可以获取可靠的操作方法对当前待处理的节点元素进行处理。
本实施例一个可选的实施方式中,在所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段不相符时,对所述节点元素提交审核请求;
接收基于所述审核请求对所述节点元素反馈的操作,并将所述节点元素和与所述节点元素对应的操作加入所述节点元素的历史弹窗成功处理数据中。
在实际应用中,有可能会出现所述历史弹窗成功处理数据中不包含当前待处理的节点元素的情况。例如,当前待处理的节点元素的文本信息为:“hello~”,但在所述历史弹窗成功处理数据中不包含以“hello~”为文本信息的节点元素。在此种情况下,则对当前待处理的节点元素提交审核请求,并基于所述审核请求对所述当前待处理的节点元素进行操作。
需要说明的是,所述审核请求可以是以切换为人工处理的方式对所述当前待处理的节点元素进行处理,也可以是其它审核方法,本申请对此不作任何限定。
在提交审核请求并对当前待处理的节点元素进行操作后,还需要将所述节点元素的文本信息和操作方法一同存储至所述历史弹窗成功处理数据中。
对不存在于历史弹窗成功处理数据中的节点元素,提交审核请求,并根据审核请求对所述节点元素进行操作,接着将所述节点元素和对应的操作保存至历史弹窗成功处理数据中,保证了可以有效应对各种不同的弹窗的情况,并且也保证了本申请具有强化学习的能力,能进一步的学习、收集多种情况的弹窗。
本实施例一个可选的实施方式中,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作,包括:
在所述节点元素中存在一个按钮控件元素的情况下,调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述按钮控件元素进行操作,并将所述按钮控件元素的文本信息存储在条件字段中,将所述操作存储在目标字段中;
在所述节点元素存在多个按钮控件元素的情况下,依次调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述多个按钮控件元素进行操作。
在实际应用中,在捕获到的节点元素根据条件字段在历史弹窗成功处理数据中匹配到存在相符合的条件字段后,依据所述历史弹窗成功处理数据中目标字段中保存的操作方法对所述捕获到的节点元素进行操作。具体的操作步骤可以依据所述节点元素中包含的按钮控件元素的数量进行调整。例如,若所述捕获到的节点元素中只包含一个按钮控件元素,则根据历史弹窗成功处理数据中对应的操作方法对所述按钮控件元素进行处理,接着将所述按钮控件元素对应的文本信息存储在所述节点元素的条件字段中,将所述按钮控件元素对应的操作方法存储至目标字段中。例如,假设现有一节点元素X,其中仅包含一个按钮控件元素Y,在所述历史弹窗成功处理数据中已经根据所述按钮控件元素Y的文本信息匹配到相同的节点元素时,根据匹配到的节点元素的操作方法“向左滑动”对所述按钮控件Y进行操作。需要说明的是,本申请中所述的操作方法可以是点击操作,也可以是滑动操作或是其他类型的操作方法,本申请对此不作具体限定。
本实施例一个可选的实施方式中,在将所述操作存储在目标字段后,所述方法还包括:
在所述历史弹窗成功处理数据中将与所述按钮控件元素对应的操作方法的调用次数累加。
本实施例一个可选的实施方式中,在依次调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述多个按钮控件元素进行操作之后,所述方法还包括:
在所述历史弹窗成功处理数据中将与所述按钮控件元素对应的操作方法的调用次数累加。
需要说明的是,根据所述历史弹窗成功处理数据中节点元素的操作方法对所述按钮控件进行操作后,还需要在所述历史弹窗成功处理数据中将所述节点元素的操作方法的调用次数累加,例如,可以对每一个调用的对象设置计数器,每调用一次调用的对象,所述计数器会对所述调用的对象的调用次数进行加一,以便于后续对调用次数的排序存储操作。
与捕获到的节点元素中仅包含一个按钮控件元素的情况同理,若捕获到的节点元素中包含多个按钮控件元素,在所述按钮控件元素已经在所述历史弹窗成功处理数据中匹配到相同的节点元素后,依次按照所述相同的节点元素的操作方法,逐个对所述多个按钮控件元素进行操作,并在操作后,将所述历史弹窗节点成功处理数据中对应节点元素的操作方法的调用次数进行累加,以便于后续对调用次数的排序存储操作。另外,需要说明的是,对所述多个按钮控件元素的操作方法可以是点击操作,也可以是滑动操作或是其他类型的操作方法,本申请对此不作具体限定。
本实施例一个可选的实施方式中,在调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作之后,还包括:
在所述节点元素处理失败的情况下,执行参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理的步骤,若在预设的执行次数内未操作成功,则执行未成功捕获当前展示页面中的节点元素的情况的步骤;
在所述节点元素处理失败且进程报错的情况下,保存对所述节点元素的操作日志,并执行冻结并捕获当前展示页面中的节点元素的步骤。
在实际应用中,在对当前展示页面中的节点元素操作失败的情况下,还需要对操作失败的节点元素进行错误重试机制。
下面以本申请中的方法内嵌于手机应用进程的情况对错误重试机制进行具体说明。
在运行内嵌了所述自动处理弹窗方法的应用进程后,在处理节点元素操作失败但所述应用进程未报错的情况下,根据当前的操作方法对操作失败的节点元素重新进行操作。并且,对所述操作失败的节点元素的重新操作次数预设为三次。需要说明的是,在实际应用中,对节点元素操作失败进行重试的次数可以由具体的使用情况决定,本申请对此不作具体限定。
在开启一个手机应用后,启动内嵌了所述自动处理弹窗方法的应用进程。若重新操作三次依然提示操作失败但进程未报错时,则认为当前手机应用中的节点元素捕获失败,按照未成功捕获当前展示页面中的节点元素的情况进行处理。
若重新操作三次依然提示操作失败,并且内嵌了所述自动处理弹窗方法的应用进程报错,则保存对当前手机应用中展示的节点元素的操作日志,并重新启动内嵌了所述自动处理弹窗方法的应用进程,接着对所述节点元素重新进行处理。
通错误重试机制,有效的避免了在当前节点元素处理出现错误的情况下应用进程出现卡顿的问题,保证了进程可以流畅的运行。
本实施例一个可选的实施方式中,所述方法还包括:
在参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理成功的情况下,按照调用次数由高到低的顺序对所述节点元素的历史弹窗成功处理数据中的节点元素进行存储。
在对节点元素处理完成后,还需要对已经存储至历史弹窗成功处理数据中的节点元素按照调用次数由高到低的顺序进行存储。
需要说明的是,所述历史弹窗成功处理数据存储节点元素的存储结构可以为栈,按照后入先出的原则对所述节点元素进行调用。
按照一定的存储顺序在历史弹窗成功处理数据中存储节点元素,保证了可以快速的调用,降低了进程的损耗,进一步保证了本申请的高效性。
本实施例一个可选的实施方式中,判断参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理是否成功;
若否,则执行参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理的步骤。
在实际应用中,若参考节点元素的历史弹窗成功处理数据失败后,则认为在当前显示页面中未能成功捕获节点元素,接着按照对应的方法对当前显示页面中的弹窗进行处理。
步骤S106:在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
在实际应用中,若未能在当前展示页面中获取节点元素,则根据当前的终端以及所述终端对应的终端型号、显示屏分辨率对当前终端中的弹窗进行处理。
在参考节点元素的历史弹窗成功处理数据失败后,切换至未成功捕获当前展示页面中的节点元素的情况进行处理,保证了本申请可以准确地判断当前展示页面的操作情况,并针对性的提供相应的弹窗处理方法。
本实施例一个可选的实施方式中,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理,包括:
根据所述终端的设备型号与显示屏分辨率在终端对应的历史弹窗成功处理数据中进行匹配;
在所述终端对应的历史弹窗成功处理数据中存在对应的终端的情况下,基于所述终端的弹窗处理方法对当前展示页面的弹窗进行处理;
在所述终端对应的历史弹窗成功处理数据中不存在对应的终端的情况下,根据所述终端对应的历史弹窗成功处理数据与所述终端的显示屏分辨率得到所述终端中弹窗的位置信息;
基于所述位置信息对所述终端中的弹窗进行操作,并将所述终端的设备型号、显示屏分辨率和对所述终端中的弹窗的操作方法保存至所述终端对应的历史弹窗成功处理数据中。
需要说明的是,在实际应用中,所述终端对应的历史弹窗成功处理数据中保存的数据为终端的型号、显示屏分辨率、弹窗类型、对应的操作方法以及终端显示屏中操作次数最高的区域(相对位置坐标),并且,上述五种数据为一组,对应一种弹窗类型,在所述终端对应的历史弹窗成功处理数据中包含至少一组数据。
在实际应用中,在参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理失败后,或是当前显示页面中节点元素处理失败并进程报错的情况下,均需要切换至未成功捕获当前展示页面中的节点元素的情况进行处理。
在此种情况下,不再根据节点元素进行对比,而是直接根据当前显示页面中的弹窗与终端对应的历史弹窗成功处理数据进行对比。
若在所述终端对应的历史弹窗成功处理数据中存在当前终端对应的终端型号和分辨率,则在所述终端对应的历史弹窗成功处理数据中调用与当前终端对应的弹窗操作方法对当前显示页面中的弹窗进行操作;
若在所述终端对应的历史弹窗成功处理数据中不存在当前终端对应的终端型号和分辨率,则根据所述终端对应的历史弹窗成功处理数据中存储的终端显示屏中操作次数最高的区域对当前待处理终端中弹窗的操作区域进行预估。具体的,根据当前待处理终端的分辨率与相对位置坐标相乘,得到当前待处理终端的绝对位置坐标,将所述绝对位置坐标保存为所述当前待处理终端中弹窗的位置信息。接着基于所述位置信息,接收ADB指令对所述绝对位置坐标对应的区域进行点击处理。若在点击处理后进程未报错并且成功处理弹窗,则判断操作成功。最后将当前待处理终端的型号、分辨率、弹窗类型、对应的操作方法以及所述绝对位置坐标保存至所述终端对应的历史弹窗成功处理数据中。
通过根据终端的型号和分辨率以及所述终端对应的历史弹窗成功处理数据中得到当前待处理终端的绝对位置信息,保证了可以准确、快速的定位当前待处理终端中的弹窗位置,进而保证了对弹窗处理的准确性。在对当前待处理终端中的弹窗处理成功后,将对应的信息保存至所述终端对应的历史弹窗成功处理数据中,进一步保证了本申请可以应对多种不同终端的弹窗进行处理,也保证了本申请具有强化学习功能,在使用的过程中可以进一步学习不同的弹窗处理方法。
本实施例一个可选的实施方式中,在所述弹窗处理失败的情况下,执行参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理的步骤,若在预设的执行次数内未操作成功,则执行冻结并捕获当前展示页面中的节点元素的步骤;
在所述节点元素处理失败且进程报错的情况下,执行冻结并捕获当前展示页面中的节点元素的步骤,若在预设的执行次数内未处理成功,则记录错误日志,对所述弹窗提交审核请求,接收基于所述审核请求对所述弹窗进行操作,并将所述弹窗和对应的操作方法保存至所述终端对应的历史弹窗成功处理数据中。
在实际应用中,对应终端的弹窗处理方法也可能存在处理失败的情况。假设在当前终端页面中存在弹窗A,并且对弹窗A处理失败超过三次但进程未报错,则重新执行重新执行冻结并捕获当前展示页面中的节点元素的步骤。需要说明的是,对弹窗A重新处理的操作次数预先设定为三次,在实际应用中,可以根据使用情况设定具体的重试次数,本申请对此不作具体限定。
若弹窗A处理失败并且进程报错,则重新执行进程,执行冻结并捕获当前展示页面中的节点元素的步骤;与上述情况同理,若在预设的处理次数内未能对弹窗A处理成功,则记录弹窗A的错误日志,并对弹窗A几条审核请求。在实际应用中,审核请求可以是由人工对弹窗A进行处理,也可以是其它审核方法,本申请对此不作具体限定。
在人工操作成功后,将弹窗A的类型、当前待处理终端的型号、分辨率、对弹窗A的操作方法和对应的操作区域保存至所述终端对应的历史弹窗成功处理数据中。
通过对终端中弹窗处理失败的情况进行失败试错机制,保证了在当前终端中的弹窗处理失败后,还可以进一步地对所述弹窗进行操作,有效的保证了本申请对弹窗处理的准确性。并且,通过对处理失败且程序报错的弹窗进行审核的方式,也进一步保证了对弹窗可以准确、高效的进行处理。
本实施例一个可选的实施方式中,在参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理之后,还包括:
按照调用次数由高到低的顺序对所述终端的历史弹窗成功处理数据中的终端的设备型号、显示屏分辨率、弹窗类型以及对应的操作方法进行存储。
沿用上例,在弹窗A处理成功后,还需要将弹窗A的弹窗类型、当前终端的设备型号、对弹窗A的操作方法以及弹窗A的操作区域存储至所述终端的历史弹窗成功处理数据中。通过保存操作成功的弹窗的相关信息,进一步保证了本申请的强化学习能力,可以有效的覆盖多种弹窗的类型以及对应的处理方式。
本实施例一个可选的实施方式中,捕获当前展示页面中的节点元素,包括:
获取当前展示页面中的节点元素,将所述节点元素存储至节点列表中。
在实际应用中,获取的节点元素可以由节点列表的形式进行存储。在调用节点元素中的操作方法时,可以以遍历所述节点列表的方式进行读取和调用。
通过以节点列表的形式对节点元素进行存储,保证了节点元素存储结构清晰、调用方便。
本实施例一个可选的实施方式中,所述节点元素包括条件字段与目标字段,所述条件字段用于记录所述节点元素的文本信息,所述目标字段用于记录所述节点元素的操作方法;
参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理,包括:
遍历所述节点列表,将所述节点列表中的节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段进行匹配;
在所述节点列表中节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段相符时,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作。
在实际应用中,用于保存节点元素的节点列表包括条件字段和目标字段,其中,所述条件字段用于保存节点元素的文本信息,所述目标字段用于保存节点元素的操作方法。例如,现有一节点元素F,在节点元素F的条件字段中保存节点元素F的文本信息“返回”,在节点元素F的目标字段中保存节点元素F的操作信息“点击”。
通过不同的字段记录节点元素的信息,可以保证所述节点元素对应的信息准确、清晰的存储,并且在调用时可以快速、高效,进一步保证了本申请的准确性。
需要说明的是,本实施例中提供的一种自动处理弹窗方法在对当前展示页面中的弹窗处理完成后,还可以继续对当前展示页面进行监控。例如,在手机终端中,假设当前展示页面中的弹窗已经被成功处理,所述自动处理弹窗方法还可以继续在手机终端的后台运行,持续监控当前展示页面。
通过持续监控当前展示页面,保证了所述自动处理弹窗方法可以不间断的监控当前展示页面,确保所述当前展示页面中不会出现需要处理的弹窗,有效提升了用户体验。
下述结合附图2a,以本申请提供的一种自动处理弹窗方法在手机终端的应用为例,对所述一种自动处理弹窗方法进行进一步说明。其中,图2a是本申请一实施例提供的一种应用于手机终端的一种自动处理弹窗方法的处理流程图,具体包括以下步骤:
步骤S202:在手机终端中安装弹窗处理进程,并打开所述弹窗处理进程。
在实际应用中,在手机上终端上使用本申请提供的子弹处理弹窗方法时,可以通过将本申请提供的一种自动处理弹窗方法内嵌于手机应用程序,以手机App的形式进行使用。如图3所示,图三为所述手机App在手机终端安装的示意图,其中,301为需要进行弹窗处理的手机App,302为内嵌了所述自动处理弹窗方法的手机应用插件(以下简称为进程B)。
在安装完成并开启所述弹窗处理进程后,所述弹窗处理进程可以在手机后台运行,不影响其他手机应用进程的使用。
步骤S204:监测需要处理弹窗的手机应用进程,在监测到当前展示页面有弹窗弹出的情况下,冻结并捕获当前展示页面中的节点元素。
如图4所示,图4为开启需要处理弹窗的手机应用进程(以下简称为进程A)的开启状态示意图,其中,401为当前展示页面中的节点元素N,402为弹窗中的处理区域。在开启进程A后,会出现“用户协议”的弹窗,此时进程B会冻结当前进程A的当前展示页面,并获取当前展示页面中的节点元素N。
步骤S206:判断当前展示页面中节点元素N的捕获情况。
若当前展示页面中所述节点元素捕获成功,则执行步骤S208,若当前展示页面中所述节点元素捕获未成功,则执行步骤S210。
在当前展示页面中的弹窗“用户协议”处理成功后,则在所述当前展示页面中不再显示弹窗“用户协议”,并且,若重新打开进程A,也不会再出现所述弹窗“用户协议”。
在实际应用中,下述步骤S208至步骤S218可以基于Poco框架实现,如图2b所示,图2b是本申请一实施例提供的一种应用于手机终端的一种自动处理弹窗方法基于poco框架的处理流程图,具体包括以下步骤:
步骤S208:遍历节点元素N。
步骤S210:根据节点元素N在用例数据库中对应的弹窗类型,判断用例数据库中是否存在与节点元素N对应的弹窗类型。
需要说明的是,在本实施例中所述的用例数据库,存储的是节点元素的历史弹窗成功处理数据,可以由人工进行创建。
首先根据节点元素N的文本信息“同意该协议”在所述用例数据库中进行查找,若存在,则执行步骤S212,若不存在,则执行步骤S214。
步骤S212:基于节点元素N的文本信息在用例数据库中调用对应的操作方法。
具体的,根据节点元素N的文本信息“同意该协议”在所述用例数据库中进行查找与所述文本信息相同的节点元素。假设在用例数据库中存在以节点元素M,文本信息为:“同意该协议”,操作方法为:“点击”,则根据节点元素M的操作方法“点击”对节点元素N进行操作。并且,在通过节点元素M的操作方法对节点元素N进行操作后,需要在所述用例数据库中将节点元素M操作方法的调用次数加一,以便于后续的排序存储操作。
步骤S214:对节点元素N提交审核请求,基于所述审核请求进行操作,并将节点元素N的类型以及操作方法存储至用例数据库中。
假设所述用例数据库中不存在对应的节点元素,则将节点元素N提交审核请求,所述审核请求可以是提交至至人工处理,通过人工的方式对节点元素N进行操作,并判断节点元素N的类型,将节点元素N的类型和对应的操作方法保存至所述用例数据库中。通过将不存在于所述用例数据库中的节点元素以及对应的操作方法保存至所述用例数据库中,可以使所述用例数据库达到具有强化学习的功能。
若上述步骤处理失败,则执行步骤S216。
步骤S216:若节点元素N操作失败但进程B未报错,则重新对节点元素N进行操作;若节点元素N操作失败且进程B报错,则重启进程B。
需要说明的是,若对节点元素N操作失败,则开启试错机制,对节点元素N按照上述步骤S208开始重新进行操作。若操作三次均失败,则认为未能成功捕获节点元素N,并执行步骤S220。
若节点元素N操作失败并且进程B报错,则保存对节点元素N的操作日志,接着重启进程B,重新对节点元素N进行操作。
步骤S218:按照调用频率由高到低对的顺序用例数据库中的数据进行存储。
在节点元素N处理成功后,需要按照调用频率由高到低的顺序对用例数据库中的数据进行存储,方便后续调用的快速、方便。
在实际应用中,下述步骤S220至步骤S230可以基于Android调试桥实现,如图2c所示,图2c是本申请一实施例提供的一种应用于手机终端的一种自动处理弹窗方法基于Android调试桥的处理流程图,具体包括以下步骤:
步骤S220:获取当前手机终端的型号和显示屏分辨率。
首先获取当前手机终端的型号和显示屏分辨率,假设当前手机终端的型号为Noaa型,屏幕分辨率为2560*1080。
步骤S222:基于当前手机终端的型号和显示屏分辨率在所述用例数据库中查找对应的操作方法。
具体的,基于当前手机终端的型号:Noaa型和屏幕分辨率:2560*1080在所述用例数据库中查找相同型号与相同屏幕分辨率的手机终端。
若在所述用例数据库中存在与当前手机终端的型号和显示屏分辨率对应的操作方法,则执行步骤S224;若在所述用例数据库中不存在与当前手机终端的型号和显示屏分辨率对应的操作方法,则执行步骤S226。
步骤S224:基于所述用例数据库中的操作方法对当前手机终端中的弹窗X进行操作。
步骤S226:对弹窗X的操作区域进行估算并进行操作,若操作成功则将弹窗X的弹窗类型、手机终端的型号、显示屏分辨率和操作区域存储至所述用例数据库中。
具体的,根据用例数据库中调用次数最多的操作区域(以下称为相对位置坐标)对弹窗X的操作区域进行估算,结合手机终端的显示屏分辨率与相对位置坐标相乘得到弹窗X的绝对位置坐标,并接收ADB指令基于所述绝对位置坐标对弹窗X进行点击操作。需要说明的是,在进行上述操作成功后,还需要将所述用例数据库中本次操作调用的操作区域的调用次数加一并将所述绝对位置坐标、弹窗X的弹窗类型、手机终端的型号:Noaa型和显示屏分辨率:2560*1080存储至用例数据库中,以便于后续的排序存储以及调用操作。
若上述处理步骤失败,则执行步骤S228。如图5所示,图5为本申请实施例提供的弹窗操作失败示意图,其中,501标识因处理失败仍然存储于当前展示页面中的弹窗X,502标识所述弹窗X中的处理区域。
步骤S228:若弹窗X操作失败但进程B未报错,则重新对弹窗X进行操作;若弹窗X处理失败且进程B报错,则记录弹窗X的错误日志并对弹窗X提交审核请求。
需要说明的是,若对弹窗X操作失败,则开启试错机制,对弹窗X按照上述步骤S220开始重新进行操作。若操作三次均失败,则重新执行冻结并捕获当前展示页面中的节点元素的步骤。
在弹窗X操作失败且进程B报错的情况下,重新执行冻结并捕获当前展示页面中的节点元素的步骤,若执行三次后仍未对弹窗X处理成功,则对弹窗X提交审核请求,需要说明的是,所述审核请求可以是通过人工操作的方式对所述弹窗X进行审核。通过审核并操作后,接着将弹窗X的的操作方法、当前手机终端的型号、显示屏分辨率和所述弹窗X的类型保存至所述用例数据库中。
步骤S230:按照调用次数由高到低的顺序对所述终端的历史弹窗成功处理数据中的终端的设备型号、显示屏分辨率、弹窗类型以及对应的操作方法进行存储。
在对弹窗X处理完成后,还需要根据调用的次数对所述用例数据库中的数据进行存储。
步骤S232:当前展示页面中的弹窗处理成功。
通过本实施例提供的一种自动处理弹窗方法,通过将所述自动处理弹窗方法内嵌于手机应用程序并在手机端安装使用,保证了可以方便、快捷的将本申请提供的一种自动处理弹窗方法应用于实际的应用场景,提升了用户体验。并且通过将所述自动处理弹窗方法内嵌于手机应用程序,使所述手机应用程序在手机后台运行,保证了可以实时的监控手机端的当前展示页面。
其次,通过文本信息在历史弹窗成功处理数据中匹配对应的节点元素,并按照所述历史弹窗成功处理数据中对应的节点元素的操作方法对待处理的节点元素进行操作,进一步保证了可以准确、快速的对待处理的节点元素进行操作,也保证了可以获取可靠的操作方法对当前待处理的节点元素进行处理。
再次,在所述历史弹窗成功处理数据中对调用的操作方法进行累加与排序,可以让后续的调用更加方便快捷。并且,对当前展示页面中节点元素操作失败后,有对应的处理步骤应对操作失败的情况,保证了所述自动处理弹窗方法可以有效的应对不同的错误情况,提升了所述自动处理弹窗方法的可靠性。
另外,在所述历史弹窗成功处理数据中没有对应的操作方法的情况下,通过提交审核并将对应的操作方法添加至所述历史弹窗成功处理数据中,保证了所述自动处理弹窗方法可以进行强化学习,进一步提升了所述自动处理弹窗方法的实用性,并且可以有效应对在当前展示页面中出现的弹窗。
与上述方法实施例相对应,本申请还提供了一种自动处理弹窗装置实施例,图6示出了本申请一实施例提供的一种自动处理弹窗装置的结构示意图。如图6所示,该装置包括:
监测模块602,被配置为对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;
第一处理模块604,被配置为在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;
第二处理模块606,被配置为在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
可选地,所述节点元素包括条件字段与目标字段,所述条件字段用于记录所述节点元素的文本信息,所述目标字段用于记录所述节点元素的操作方法;
所述第一处理模块604,被进一步配置为:
将所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段进行匹配;
在所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段匹配的情况下,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作。
所述第一处理模块604,还被配置为:
在所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段不相符时,对所述节点元素提交审核请求;
接收基于所述审核请求对所述节点元素反馈的操作,并将所述节点元素和与所述节点元素对应的操作加入所述节点元素的历史弹窗成功处理数据中。
所述第一处理模块604,还被配置为:
在所述节点元素中存在一个按钮控件元素的情况下,调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述按钮控件元素进行操作,并将所述按钮控件元素的文本信息存储在条件字段中,将所述操作存储在目标字段中;
在所述节点元素存在多个按钮控件元素的情况下,依次调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述多个按钮控件元素进行操作。
所述第一处理模块604,还被配置为:
在所述历史弹窗成功处理数据中将与所述按钮控件元素对应的操作方法的调用次数累加。
所述第一处理模块604,还被配置为:
在所述历史弹窗成功处理数据中将与所述按钮控件元素对应的操作方法的调用次数累加。
所述第一处理模块604,还被配置为:
在所述节点元素处理失败的情况下,执行参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理的步骤,若在预设的执行次数内未操作成功,则执行未成功捕获当前展示页面中的节点元素的情况的步骤;
在所述节点元素处理失败且进程报错的情况下,保存对所述节点元素的操作日志,并执行冻结并捕获当前展示页面中的节点元素的步骤。
所述自动处理弹窗装置,还包括:
第一存储模块608,被配置为在参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理成功的情况下,按照所述调用次数由高到低的顺序对所述节点元素的历史弹窗成功处理数据中的节点元素进行存储。
所述自动处理弹窗装置,还包括:
切换模块610,被配置为判断参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理是否成功;
若否,则执行参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理的步骤。
所述第二处理模块606,被进一步配置为:
根据所述终端的设备型号与显示屏分辨率在终端对应的历史弹窗成功处理数据中进行匹配;
在所述终端对应的历史弹窗成功处理数据中存在对应的终端的情况下,基于所述终端的弹窗处理方法对当前展示页面的弹窗进行处理;
在所述终端对应的历史弹窗成功处理数据中不存在对应的终端的情况下,根据所述终端对应的历史弹窗成功处理数据与所述终端的显示屏分辨率得到所述终端中弹窗的位置信息;
基于所述位置信息对所述终端中的弹窗进行操作,并将所述终端的设备型号、显示屏分辨率和对所述终端中的弹窗的操作方法保存至所述终端对应的历史弹窗成功处理数据中。
所述第二处理模块606,还被配置为:
在所述弹窗处理失败的情况下,执行参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理的步骤,若在预设的执行次数内未操作成功,则执行冻结并捕获当前展示页面中的节点元素的步骤;
在所述节点元素处理失败且进程报错的情况下,执行冻结并捕获当前展示页面中的节点元素的步骤,若在预设的执行次数内未处理成功,则记录错误日志,对所述弹窗提交审核请求,接收基于所述审核请求对所述弹窗进行操作,并将所述弹窗和对应的操作方法保存至所述终端对应的历史弹窗成功处理数据中。
所述自动处理弹窗装置,还包括:
第二存储模块612,被配置为:
按照调用次数由高到低的顺序对所述终端的历史弹窗成功处理数据中的终端的设备型号、显示屏分辨率、弹窗类型以及对应的操作方法进行存储。
所述监测模块602,被进一步配置为:
获取当前展示页面中的节点元素,将所述节点元素存储至节点列表中。
可选地,所述节点元素包括条件字段与目标字段,所述条件字段用于记录所述节点元素的文本信息,所述目标字段用于记录所述节点元素的操作方法;
所述监测模块602,被进一步配置为:
遍历所述节点列表,将所述节点列表中的节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段进行匹配;
在所述节点列表中节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段相符时,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作。
通过本实施例提供的一种自动处理弹窗装置,通过对当前展示页面进行监测,并获取当前展示页面中的节点元素,保证了在当前展示页面中可以及时、准确的处理出现的弹窗,有效提升了对弹窗的处理效率;并且,依据不同的节点元素的类型在历史弹窗成功处理数据中匹配对应的操作方法对当前展示页面中的节点元素进行操作,进一步保证了可以准确、快速地对待处理的节点元素进行处理,也保证了可以获取可靠的操作方法对当前待处理的节点元素进行处理。
其次,将不存在于所述历史弹窗成功处理数据中的节点元素和对应的操作方法存储至所述历史弹窗成功处理数据中,保证了所述历史弹窗成功处理数据具有强化学习的功能,进一步保证了本实施例提供的自动处理弹窗装置可以有效应对多种不同类型的弹窗,确保了对弹窗处理的可靠性。
另外,通过在所述历史弹窗成功处理数据中,在每一次调用对应的操作方法时,将所述操作方法的调用次数累加并进行排序,也保证了所述历史弹窗成功处理数据具有清晰的存储结构,也有利于后续的调用。
上述为本实施例的一种自动处理弹窗装置的示意性方案。需要说明的是,该自动处理弹窗装置的技术方案与上述的自动处理弹窗方法的技术方案属于同一构思,自动处理弹窗装置的技术方案未详细描述的细节内容,均可以参见上述自动处理弹窗方法的技术方案的描述。
图7示出了根据本申请一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720执行所述指令时实现所述的自动处理弹窗方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的自动处理弹窗方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述自动处理弹窗方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述自动处理弹窗方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的自动处理弹窗方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述自动处理弹窗方法的技术方案的描述。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (17)
1.一种自动处理弹窗方法,其特征在于,包括:
对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;
在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;
在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
2.如权利要求1所述的方法,所述节点元素包括条件字段与目标字段,所述条件字段用于记录所述节点元素的文本信息,所述目标字段用于记录所述节点元素的操作方法;
参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理,包括:
将所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段进行匹配;
在所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段匹配的情况下,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
在所述节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段不相符时,对所述节点元素提交审核请求;
接收基于所述审核请求对所述节点元素反馈的操作,并将所述节点元素和与所述节点元素对应的操作加入所述节点元素的历史弹窗成功处理数据中。
4.如权利要求2所述的方法,其特征在于,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作,包括:
在所述节点元素中存在一个按钮控件元素的情况下,调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述按钮控件元素进行操作,并将所述按钮控件元素的文本信息存储在条件字段中,将所述操作存储在目标字段中;
在所述节点元素存在多个按钮控件元素的情况下,依次调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述多个按钮控件元素进行操作。
5.如权利要求4所述的方法,其特征在于,在将所述操作存储在目标字段后,所述方法还包括:
在所述历史弹窗成功处理数据中将与所述按钮控件元素对应的操作方法的调用次数累加。
6.如权利要求4所述的方法,其特征在于,在依次调用所述节点元素的历史弹窗成功处理数据中与所述按钮控件元素对应的操作方法对所述多个按钮控件元素进行操作之后,所述方法还包括:
在所述历史弹窗成功处理数据中将与所述按钮控件元素对应的操作方法的调用次数累加。
7.如权利要求2所述的方法,其特征在于,在调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作之后,还包括:
在所述节点元素处理失败的情况下,执行参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理的步骤,若在预设的执行次数内未操作成功,则执行未成功捕获当前展示页面中的节点元素的情况的步骤;
在所述节点元素处理失败且进程报错的情况下,保存对所述节点元素的操作日志,并执行冻结并捕获当前展示页面中的节点元素的步骤。
8.如权利要求5或6所述的方法,其特征在于,所述方法还包括:
在参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理成功的情况下,按照所述调用次数由高到低的顺序对所述节点元素的历史弹窗成功处理数据中的节点元素进行存储。
9.如权利要求1-7任意一项所述的方法,其特征在于,所述方法还包括:
判断参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理是否成功;
若否,则执行参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理的步骤。
10.如权利要求1所述的方法,其特征在于,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理,包括:
根据所述终端的设备型号与显示屏分辨率在终端对应的历史弹窗成功处理数据中进行匹配;
在所述终端对应的历史弹窗成功处理数据中存在对应的终端的情况下,基于所述终端的弹窗处理方法对当前展示页面的弹窗进行处理;
在所述终端对应的历史弹窗成功处理数据中不存在对应的终端的情况下,根据所述终端对应的历史弹窗成功处理数据与所述终端的显示屏分辨率得到所述终端中弹窗的位置信息;
基于所述位置信息对所述终端中的弹窗进行操作,并将所述终端的设备型号、显示屏分辨率和对所述终端中的弹窗的操作方法保存至所述终端对应的历史弹窗成功处理数据中。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
在所述弹窗处理失败的情况下,执行参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理的步骤,若在预设的执行次数内未操作成功,则执行冻结并捕获当前展示页面中的节点元素的步骤;
在所述节点元素处理失败且进程报错的情况下,执行冻结并捕获当前展示页面中的节点元素的步骤,若在预设的执行次数内未处理成功,则记录错误日志,对所述弹窗提交审核请求,接收基于所述审核请求对所述弹窗进行操作,并将所述弹窗和对应的操作方法保存至所述终端对应的历史弹窗成功处理数据中。
12.如权利要求10所述的方法,其特征在于,在参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理之后,还包括:
按照调用次数由高到低的顺序对所述终端的历史弹窗成功处理数据中的终端的设备型号、显示屏分辨率、弹窗类型以及对应的操作方法进行存储。
13.如权利要求1所述的方法,其特征在于,捕获当前展示页面中的节点元素,包括:
获取当前展示页面中的节点元素,将所述节点元素存储至节点列表中。
14.如权利要求13所述的方法,所述节点元素包括条件字段与目标字段,所述条件字段用于记录所述节点元素的文本信息,所述目标字段用于记录所述节点元素的操作方法;
参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理,包括:
遍历所述节点列表,将所述节点列表中的节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段进行匹配;
在所述节点列表中节点元素的条件字段与所述节点元素的历史弹窗成功处理数据中节点元素的条件字段相符时,调用所述节点元素的历史弹窗成功处理数据中节点元素的目标字段中的操作方法对所述节点元素进行操作。
15.一种自动处理弹窗装置,其特征在于,包括:
监测模块,被配置为对当前展示页面进行监控,冻结并捕获当前展示页面中的节点元素;
第一处理模块,被配置为在成功捕获当前展示页面中的节点元素的情况下,参考所述节点元素的历史弹窗成功处理数据对所述节点元素中的弹窗进行处理;
第二处理模块,被配置为在未成功捕获当前展示页面中的节点元素的情况下,参考当前展示页面所在终端对应的历史弹窗成功处理数据对当前展示页面中的弹窗进行处理。
16.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-14任意一项所述方法的步骤。
17.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-14任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011528779.6A CN112565523B (zh) | 2020-12-22 | 2020-12-22 | 一种自动处理弹窗方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011528779.6A CN112565523B (zh) | 2020-12-22 | 2020-12-22 | 一种自动处理弹窗方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565523A true CN112565523A (zh) | 2021-03-26 |
CN112565523B CN112565523B (zh) | 2022-01-25 |
Family
ID=75031294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011528779.6A Active CN112565523B (zh) | 2020-12-22 | 2020-12-22 | 一种自动处理弹窗方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565523B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032264A (zh) * | 2021-03-29 | 2021-06-25 | 网易(杭州)网络有限公司 | 页面视图控件的检测方法及装置 |
CN115185789A (zh) * | 2022-09-08 | 2022-10-14 | 深圳数鉴科技有限公司 | 一种弹窗数据分析方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1260646A (zh) * | 1999-01-08 | 2000-07-19 | 索尼计算机娱乐株式会社 | 带有广告媒体的便携式终端 |
US20100198697A1 (en) * | 2006-07-21 | 2010-08-05 | Videoegg, Inc. | Fixed Position Interactive Advertising |
US20110029891A1 (en) * | 2009-06-16 | 2011-02-03 | Lg Electronics Inc. | Mobile terminal and method of controlling operation of the mobile terminal |
KR20120007736A (ko) * | 2010-07-15 | 2012-01-25 | 엘지전자 주식회사 | 이동 단말기 및 팝업창 관리 방법 |
CN102929986A (zh) * | 2011-10-19 | 2013-02-13 | 微软公司 | 用于移动广告的桥页面 |
CN103870113A (zh) * | 2014-02-18 | 2014-06-18 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
KR20150026500A (ko) * | 2013-09-03 | 2015-03-11 | 삼성전자주식회사 | 스크린을 제어하는 전자 장치 및 방법 |
CN106909364A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种终端显示方法及可视化装置 |
CN108595243A (zh) * | 2018-05-08 | 2018-09-28 | 北京奇艺世纪科技有限公司 | 一种弹窗处理方法及装置 |
CN108683954A (zh) * | 2018-05-30 | 2018-10-19 | 广州华多网络科技有限公司 | 弹窗动画生成方法和装置、弹窗动画、网络直播服务器 |
CN111258914A (zh) * | 2020-02-26 | 2020-06-09 | 广州虎牙科技有限公司 | 自动化用例测试的弹窗处理方法、装置、设备及存储介质 |
CN111263202A (zh) * | 2020-02-21 | 2020-06-09 | 广州欢网科技有限责任公司 | 智能电视系统和弹窗式信息处理方法 |
CN111324325A (zh) * | 2020-02-19 | 2020-06-23 | 京东方科技集团股份有限公司 | 一种显示装置、显示方法及电子设备 |
CN111435589A (zh) * | 2019-06-21 | 2020-07-21 | 杭州海康威视数字技术股份有限公司 | 一种目标显示的方法、装置及目标显示系统 |
-
2020
- 2020-12-22 CN CN202011528779.6A patent/CN112565523B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1260646A (zh) * | 1999-01-08 | 2000-07-19 | 索尼计算机娱乐株式会社 | 带有广告媒体的便携式终端 |
US20100198697A1 (en) * | 2006-07-21 | 2010-08-05 | Videoegg, Inc. | Fixed Position Interactive Advertising |
US20110029891A1 (en) * | 2009-06-16 | 2011-02-03 | Lg Electronics Inc. | Mobile terminal and method of controlling operation of the mobile terminal |
KR20120007736A (ko) * | 2010-07-15 | 2012-01-25 | 엘지전자 주식회사 | 이동 단말기 및 팝업창 관리 방법 |
CN102929986A (zh) * | 2011-10-19 | 2013-02-13 | 微软公司 | 用于移动广告的桥页面 |
KR20150026500A (ko) * | 2013-09-03 | 2015-03-11 | 삼성전자주식회사 | 스크린을 제어하는 전자 장치 및 방법 |
CN103870113A (zh) * | 2014-02-18 | 2014-06-18 | 联想(北京)有限公司 | 一种信息处理方法和电子设备 |
CN106909364A (zh) * | 2015-12-23 | 2017-06-30 | 北京奇虎科技有限公司 | 一种终端显示方法及可视化装置 |
CN108595243A (zh) * | 2018-05-08 | 2018-09-28 | 北京奇艺世纪科技有限公司 | 一种弹窗处理方法及装置 |
CN108683954A (zh) * | 2018-05-30 | 2018-10-19 | 广州华多网络科技有限公司 | 弹窗动画生成方法和装置、弹窗动画、网络直播服务器 |
CN111435589A (zh) * | 2019-06-21 | 2020-07-21 | 杭州海康威视数字技术股份有限公司 | 一种目标显示的方法、装置及目标显示系统 |
CN111324325A (zh) * | 2020-02-19 | 2020-06-23 | 京东方科技集团股份有限公司 | 一种显示装置、显示方法及电子设备 |
CN111263202A (zh) * | 2020-02-21 | 2020-06-09 | 广州欢网科技有限责任公司 | 智能电视系统和弹窗式信息处理方法 |
CN111258914A (zh) * | 2020-02-26 | 2020-06-09 | 广州虎牙科技有限公司 | 自动化用例测试的弹窗处理方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113032264A (zh) * | 2021-03-29 | 2021-06-25 | 网易(杭州)网络有限公司 | 页面视图控件的检测方法及装置 |
CN115185789A (zh) * | 2022-09-08 | 2022-10-14 | 深圳数鉴科技有限公司 | 一种弹窗数据分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112565523B (zh) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11354219B2 (en) | Machine defect prediction based on a signature | |
CN112565523B (zh) | 一种自动处理弹窗方法及装置 | |
CN109388556B (zh) | 一种测试过程的分析方法及装置 | |
CN110851324B (zh) | 基于日志的巡检处理方法、装置以及电子设备、存储介质 | |
CN113485880A (zh) | 测试方法及装置 | |
CN112817866A (zh) | 录制回放方法、装置、系统、计算机设备以及存储介质 | |
CN111865673A (zh) | 一种自动化故障管理方法、装置及系统 | |
CN108111343B (zh) | 基于云平台实现终端监控的方法、设备及计算机存储介质 | |
CN113918438A (zh) | 服务器异常的检测方法、装置、服务器及存储介质 | |
CN107908525B (zh) | 告警处理方法、设备及可读存储介质 | |
CN112612929A (zh) | 数据处理方法及装置 | |
US20120078912A1 (en) | Method and system for event correlation | |
CN113468023A (zh) | 监控方法、装置、介质及电子设备 | |
CN113778834B (zh) | 一种应用软件的系统性能测试方法、装置与计算设备 | |
CN115412592A (zh) | 业务处理系统以及方法 | |
CN113835591A (zh) | 弹窗处理方法及装置 | |
CN114138528A (zh) | 远程调用容错处理方法、终端设备及存储介质 | |
CN109783313B (zh) | 一种系统异常处理方法及系统 | |
CN113420713A (zh) | 异常监控方法、装置、电子设备及计算机可读介质 | |
CN112604295A (zh) | 游戏更新失败的上报方法、装置及管理方法、服务器 | |
CN112598118B (zh) | 有监督学习的标注异常处理方法、装置、存储介质及设备 | |
CN110659214B (zh) | 信息处理系统、方法、计算设备及存储介质 | |
US20240143931A1 (en) | Correlating instances of written feedback to common events in telemetry data | |
CN111325278B (zh) | 一种图像处理方法、装置及存储介质 | |
CN105975924A (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 |