CN111966432B - 验证码处理方法、装置、电子设备以及存储介质 - Google Patents

验证码处理方法、装置、电子设备以及存储介质 Download PDF

Info

Publication number
CN111966432B
CN111966432B CN202010611893.9A CN202010611893A CN111966432B CN 111966432 B CN111966432 B CN 111966432B CN 202010611893 A CN202010611893 A CN 202010611893A CN 111966432 B CN111966432 B CN 111966432B
Authority
CN
China
Prior art keywords
verification code
text box
character string
area
selection request
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
Application number
CN202010611893.9A
Other languages
English (en)
Other versions
CN111966432A (zh
Inventor
王群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010611893.9A priority Critical patent/CN111966432B/zh
Publication of CN111966432A publication Critical patent/CN111966432A/zh
Application granted granted Critical
Publication of CN111966432B publication Critical patent/CN111966432B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请公开了验证码处理方法、装置、电子设备及存储介质,涉及深度学习、计算机视觉领域。具体实现方案为:获取验证码文本框选中请求;根据所述验证码文本框选中请求对当前页面进行识别,以获取所述当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串;根据所述至少一个字符串区域中的字符串,确定待输入所述验证码文本框的目标字符串;以及,将所述目标字符串填入到所述验证码文本框中。实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。

Description

验证码处理方法、装置、电子设备以及存储介质
技术领域
本申请涉及图像处理技术领域,特别涉及深度学习、计算机视觉领域,尤其涉及验证码处理方法、装置、电子设备以及存储介质。
背景技术
随着终端技术及互联网技术的发展,手机、电脑等电子设备在人们的生活、学习、工作中的应用越来越广泛。
目前,在电子设备例如手机的应用过程中,经常会需要用户根据验证码图片在指定文本输入框中输入验证码以获取所需信息,而手机等电子设备的屏幕较小,验证码图片中的字符不易辨认,且输入验证码时可能会出现用户误操作或者需要切换输入法中英文符号等情况,从而导致了用户在指定文本框中输入验证码所消耗的时间较长。
发明内容
本公开提供了一种能够自动快速的在验证码文本框中填入验证码的验证码处理方法、装置、电子设备以及存储介质。
根据本公开的一方面,提供了一种验证码处理方法,包括:获取验证码文本框选中请求;根据所述验证码文本框选中请求对当前页面进行识别,以获取所述当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串;根据所述至少一个字符串区域中的字符串,确定待输入所述验证码文本框的目标字符串;以及,将所述目标字符串填入到所述验证码文本框中。
根据本公开的另一方面,提供了一种验证码处理装置,包括:获取模块,用于获取验证码文本框选中请求;识别模块,用于根据所述验证码文本框选中请求对当前页面进行识别,以获取所述当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串;确定模块,用于根据所述至少一个字符串区域中的字符串,确定待输入所述验证码文本框的目标字符串;以及,处理模块,用于将所述目标字符串填入到所述验证码文本框中。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行第一方面所述的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行第一方面所述的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现第一方面所述的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的示意图;
图2是根据本申请实施例的智能手机的显示界面示意图;
图3是根据本申请第二实施例的示意图;
图4是根据本申请第三实施例的示意图;
图5是根据本申请第四实施例的示意图;
图6是根据本申请第五实施例的示意图;
图7是根据本申请第六实施例的示意图;
图8是用来实现本申请实施例的验证码处理方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
可以理解的是,在电子设备例如手机的应用过程中,经常会需要用户根据验证码图片在指定文本输入框中输入验证码以获取所需信息,而手机等电子设备的屏幕较小,验证码图片中的字符不易辨认,且输入验证码时可能会出现用户误操作或者需要切换输入法中英文符号等情况,从而导致了用户在指定文本框中输入验证码所消耗的时间较长。
本申请针对上述问题,提出一种验证码处理方法,在获取验证码文本框选中请求后,可以根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待填入验证码文本框的目标字符串,从而将目标字符串填入到验证码文本框中。由此,实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
下面参考附图描述本申请实施例的验证码处理方法、装置、电子设备以及非瞬时计算机可读存储介质。
首先结合图1,对本申请提供的验证码处理方法进行详细描述。
图1是根据本申请第一实施例的示意图。其中,需要说明的是,本实施例提供的验证码处理方法,执行主体为验证码处理装置,验证码处理装置可以被配置在电子设备中,以实现自动快速的将验证码填入到验证码文本框中。
其中,电子设备,可以是任意能够进行数据处理的静止或者移动计算设备,例如笔记本电脑、智能手机、可穿戴设备等移动计算设备,或者台式计算机等静止的计算设备,或者服务器,或者其它类型的计算设备等。验证码处理装置可以是安装在电子设备中的验证码处理应用程序,也可以是该验证码处理应用程序的管理者、开发者所使用的对该验证码处理应用程序进行管理、维护的网页、应用程序等,本申请对此不作限制。本申请以电子设备为智能手机,验证码处理装置为智能手机中安装的应用软件为例进行说明。
如图1所示,验证码处理方法,可以包括以下步骤:
步骤101,获取验证码文本框选中请求。
其中,验证码文本框,即需要填入验证码的文本框。
在示例性实施例中,验证码文本框选中请求,可以是用户通过点击、滑动等触控操作,触控验证码文本框,使验证码文本框获取输入焦点(即光标位于验证码文本框)时触发的,也可以是通过其它方式触发的,本申请对此不作限制。
以用户通过点击验证码文本框,使验证码文本框获取输入焦点,触发验证码文本框选中请求为例,在触发验证码文本框选中请求后,验证码处理装置即可获取验证码文本框选中请求。
步骤102,根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串。
其中,字符串,可以包括多个字符,字符串中包括的字符的类型可以为数字、字母等类型,且一个字符串中可以包括多种类型的字符串,本申请对此不作限制。字符串区域,为包含字符串的区域。在本申请实施例中,可以将包含一个字符串的区域作为一个字符串区域。
比如,字符串可以为“eV2q”,包含该字符串的区域为一个字符串区域。
具体的,在获取验证码文本框选中请求后,即可对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串。
在示例性实施例中,可以通过光学字符识别(Optical Character Recognition,简称OCR)技术、或者利用能够识别图像中各字符串区域及字符串区域中的字符串的识别模型等,对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串。其中,识别模型,可以是通过深度学习的方式或者其它方式训练得到的,本申请对此不作限制。
步骤103,根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串。
步骤104,将目标字符串填入到验证码文本框中。
可以理解的是,通过对当前页面进行识别,获取的字符串区域以及字符串的数量可能为一个或多个。
比如,当前页面中,可能仅包括待输入验证码文本框的验证码,例如仅包括验证码“eV2q”,那么,对当前页面进行识别,获取的字符串区域以及字符串的数量为一个;或者,当前页面中,可能既包括待输入验证码文本框的验证码,又包括用户输入的电话号码,例如既包括验证码“eV2q”,又包括电话号码“157XXXXXXXX”,那么,对当前页面进行识别,获取的字符串区域以及字符串的数量均为2个。
在示例性实施例中,在对当前页面进行识别,获取的字符串区域的数量为一个时,可以直接将获取的该字符串区域中的字符串确定为待输入验证码文本框的目标字符串,并将该目标字符串填入验证码文本框中。
在示例性实施例中,在对当前页面进行识别,获取的字符串区域的数量为多个时,可以通过多种方式,确定待输入验证码文本框的目标字符串,再将目标字符串填入验证码文本框中。
比如,由于实际应用中,待填入验证码文本框中的验证码在当前页面的位置,通常与验证码文本框在当前页面的位置之间距离较近,那么,在示例性实施例中,可以在获取的字符串区域为多个时,获取验证码文本框的位置信息,以及多个字符串区域分别对应的位置信息,进而确定多个字符串区域分别与验证码文本框所在区域之间的距离,从而将与验证码文本框的距离最近的字符串区域确定为目标字符串所在的区域,将该字符串区域中的字符串确定为目标字符串,并将目标字符串填入到验证码文本框中。
或者,由于实际应用中,待填入验证码文本框中的验证码,通常包括特定个数的字符,例如通常包括4个字符或者6个字符,那么,在示例性实施例中,在获取多个字符串区域以及每个字符串区域中的字符串后,可以根据每个字符串中包括的字符的个数,确定目标字符串,以将目标字符串填入到验证码文本框中。举例来说,假设对当前页面进行识别,获取到了两个字符串区域,其中一个字符串区域中的字符串为“eV2q”,另一个字符串区域中的字符串为“V2”,由于字符串“eV2q”包括4个字符,字符串“V2”包括2个字符,而待填入验证码文本框中的验证码通常包括4个字符或者6个字符,那么,即可将字符串“eV2q”确定为目标字符串,并将字符串“eV2q”填入到验证码文本框中。
下面结合图2所示的智能手机的显示界面示意图,对本申请提供的验证码处理方法进行说明。
如图2中的a图所示,文本框1为验证码文本框,在用户通过点击验证码文本框1,使验证码文本框1获取输入焦点,即光标2位于验证码文本框1时,可以触发验证码文本框选中请求。验证码处理装置获取到验证码文本框选中请求后,可以根据验证码文本框选中请求,对当前页面进行识别,以获取当前页面中的字符串区域以及字符串区域中的字符串。假设验证码处理装置获取到两个字符串区域,其中一个字符串区域(即图2的a图中标识为“3”的区域)中的字符串为“eV2q”,另一个字符串区域(即图2的a图中标识为“4”的区域)中的字符串为“157XXXXXXXX”。由于标识为“4”的字符串区域中的字符串“157XXXXXXXX”包括的字符数量为11,标识为“3”的字符串区域中的字符串“eV2q”包括的字符数量为4,而待填入验证码文本框中的验证码通常包括4个字符或者6个字符,从而即可将标识为“3”的字符串区域中的字符串“eV2q”确定为目标字符串,并如图2的b图所示,将字符串“eV2q”自动填入到验证码文本框1中。
通过本申请实施例的上述方法,即可在获取验证码文本框选中请求后,自动识别当前页面中待填入验证码文本框中的验证码,并在验证码文本框中填入验证码,由于无需用户人工进行字符识别,并逐个输入字符,也不存在用户误操作、切换输入法中英文符号等情况而消耗输入验证码的时间,从而提高了在验证码文本框中填入验证码的效率,节省了用户输入验证码所耗的时间及精力,使得用户可以快速在填入验证码后获取所需信息。
本申请实施例提供的验证码处理方法,首先获取验证码文本框选中请求,然后根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,最后将目标字符串填入到验证码文本框中。由此,实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
通过上述分析可知,在用户通过点击、滑动等触控操作,触控验证码文本框,使验证码文本框获取输入焦点时可以触发验证码文本框选中请求,进而验证码处理装置获取验证码文本框选中请求后,可以根据验证码文本框选中请求对当前页面进行识别,以在验证码文本框中自动填入验证码。在实际应用中,用户触控的可能是待填入验证码的验证码文本框,也可能是其它类型的文本框,那么,为了仅在用户触控验证码文本框时生成验证码文本框选中请求,进而在验证码文本框中自动填入验证码,以减少验证码处理装置所需处理的数据量,本申请实施例中,还可以在用户通过触控任意类型的文本框,触发文本框选中请求后,判断该文本框是否为验证码文本框,在该文本框为验证码文本框时,再生成验证码文本框选中请求。下面针对上述情况,结合图3,对本申请提供的验证码处理方法进行进一步说明。
图3是根据本申请第二实施例的示意图。如图3所示,验证码处理方法,可以包括以下步骤:
步骤201,获取文本框选中请求,文本框选中请求中包括:当前页面中文本框的标识信息。
其中,当前页面中文本框,可以为当前页面中待输入信息的文本框,文本框的标识信息,可以包括文本框的标识,其中标识用于唯一标记文本框,以将各文本框与其它文本框区分开,其可以根据需要任意设置,本申请对此不作限制。
在示例性实施例中,可以按照文本框中已有的文本或者待输入的文本是否为验证码,将文本框分为验证码文本框及非验证码文本框。具体的,可以将文本框中已有的文本或者待输入的文本为验证码的文本框称为验证码文本框,将文本框中已有的文本或者待输入的文本为非验证码的文本框称为非验证码文本框。此处的文本框,可以是任意类型的文本框。
在示例性实施例中,文本框选中请求,可以是用户通过点击、滑动等触控操作,触控当前页面中待输入信息的任意类型的文本框,使该文本框获取输入焦点触发的,也可以是通过其它方式触发的,本申请对此不作限制。
以用户通过点击当前页面中待输入信息的任意类型的文本框,触发验证码文本框选中请求为例,在触发文本框选中请求后,验证码处理装置即可获取包括当前页面中文本框的标识信息的文本框选中请求。
步骤202,根据文本框的标识信息查询当前页面的结构树,确定文本框是否为验证码文本框,若是,则执行步骤203,否则,执行步骤204。
步骤203,确定文本框选中请求为验证码文本框选中请求。
步骤204,确定文本框选中请求为非验证码文本框选中请求。
可以理解的是,每个页面均对应一个结构树,对于一个页面,通过遍历该页面的结构树,可以获取该页面中的各种文本框及其类型。本申请实施例中,获取文本框选中请求后,可以遍历当前页面的结构树,以查询当前页面的结构树中当前文本框的标识对应的文本框的类型。若通过查询,确定当前文本框的标识对应的文本框为验证码文本框,则可以确定文本框选中请求为验证码文本框选中请求。若通过查询,确定当前页面的结构树中当前文本框的标识对应的文本框为非验证码文本框,则可以确定文本框选中请求为非验证码文本框选中请求。
需要说明的是,由于每个页面均对应一个结构树,那么,为了从多个结构树中获取当前页面的结构树,以根据当前文本框的标识信息查询当前页面的结构树,在示例性实施例中,文本框选中请求中还可以包括当前页面的标识,从而在获取文本框选中请求后,可以根据当前页面的标识,从多个页面分别对应的结构树中获取当前页面的结构树,进而根据文本框的标识信息,查询当前页面的结构树。
步骤205,根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串。
步骤206,根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串。
步骤207,将目标字符串填入到验证码文本框中。
具体的,验证码处理装置确定文本框选中请求为验证码文本框选中请求后,即可根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,进而将目标字符串填入到验证码文本框中。
其中,上述步骤205-207的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
通过在获取文本框选中请求后,先根据文本框选中请求中包括的当前页面中文本框的标识信息查询当前页面的结构树,判断该文本框是否为验证码文本框,进而在文本框为验证码文本框时,确定文本框选中请求为验证码文本框选中请求,以根据验证码文本框选中请求自动识别待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,使得验证码处理装置可以仅在当前待填入信息的文本框为验证码文本框时,才会执行后续页面识别操作,进而在验证码文本框中填入验证码,而在当前待填入信息的文本框为非验证码文本框时,可以不执行后续页面识别操作,从而减少了验证码处理装置所需处理的数据量,且避免了在非验证码文本框中填入验证码的情况出现,使得验证码可以准确填入到验证码文本框中。
本申请实施例提供的验证码处理方法,首先获取文本框选中请求,文本框选中请求中包括:当前页面中文本框的标识信息,然后根据文本框的标识信息查询当前页面的结构树,确定文本框是否为验证码文本框,在文本框为验证码文本框时,确定文本框选中请求为验证码文本框选中请求,进而验证码处理装置可以根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,最后将目标字符串填入到验证码文本框中。由此,实现了根据文本框选中请求中包括的当前页面中文本框的标识信息,以及当前页面的结构树,判断文本框是否为非验证码文本框,进而在文本框为验证码文本框时,生成验证码文本框选中请求,从而实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
通过上述分析可知,在获取验证码文本框选中请求后,可以根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串。在一种可能的实现形式中,可以根据验证码文本框选中请求获取验证码图像,再对验证码图像进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,下面针对上述情况,结合图4,对本申请实施例提供的验证码处理方法进行说明。
图4是根据本申请第三实施例的示意图。如图4所示,验证码处理方法,可以包括以下步骤:
步骤301,获取验证码文本框选中请求。
步骤302,根据验证码文本框选中请求对当前页面进行处理,以获取验证码图像。
具体的,验证码处理装置在获取验证码文本框选中请求后,可以通过以下多种方式,对当前页面进行处理,以获取验证码图像。
方式一
根据验证码文本框选中请求,对当前页面进行截图,以获取验证码图像。
在示例性实施例中,验证码处理装置可以对整个当前页面进行截图,或者,也可以对当前页面的部分区域进行截图,只需通过截图获取的验证码图像中包括当前页面中的验证码即可。
可以理解的是,在实际应用中,当前页面的尺寸可能大于显示屏的尺寸,即显示屏上可能仅会显示当前页面的部分区域,用户可以通过左滑、右滑等操作,使显示屏上显示当前页面的其它区域,以查看当前页面的其它区域的内容。由于待填入验证码文本框中的验证码通常会显示在显示屏上以供用户根据显示屏上显示的验证码在验证码文本框中填入验证码,那么,在示例性实施例中,验证码处理装置可以对当前页面的显示屏显示的区域进行截图,以获取验证码图像。
可以理解的是,在实际应用中,验证码通常位于验证码文本框的附近,那么,在示例性实施例中,还可以将验证码文本框的周边区域作为验证码的所在区域,从而仅对验证码文本框的周边区域进行截图,以获取验证码图像。
即,步骤302具体可以包括:
步骤302a,根据验证码文本框选中请求获取验证码文本框的位置信息;
步骤302b,根据验证码文本框的位置信息,确定页面中验证码文本框的周边区域;
步骤302c,按照验证码文本框的周边区域对当前页面进行截图,以获取验证码图像。
具体的,在验证码文本框选中请求中,可以包括验证码文本框的位置信息,从而验证码处理装置可以根据验证码文本框的位置信息,确定页面中验证码文本框的周边区域,进而将验证码文本框的周边区域作为验证码的所在区域,通过对当前页面中验证码文本框的周边区域进行截图即可获取验证码图像。
其中,验证码文本框的位置信息,可以包括验证码文本框的纵坐标数值、横坐标数值等。由于验证码文本框通常不是一个点,而是具有一定的面积,因此,在示例性实施例中,可以将验证码文本框的某个点的位置信息作为验证码文本框的位置信息。比如,可以将验证码文本框的左上角的位置信息作为验证码文本框的位置信息,或者,可以将验证码文本框的中心点的位置信息作为验证码文本框的位置信息,或者,可以将验证码文本框的右上角的位置信息作为验证码文本框的位置信息,或者,由于光标位于验证码文本框,因此可以将光标的位置信息作为验证码文本框的位置信息,等等,本申请对此不作限制。
通过根据验证码文本框的位置信息确定当前页面中验证码文本框的周边区域,可以准确确定验证码所在区域,进而准确确定验证码图像,为后续根据验证码图像准确的在验证码文本框中填入验证码奠定基础,且通过根据验证码文本框的位置信息,确定页面中验证码文本框的周边区域,进而根据验证码文本框的周边区域对当前页面进行截图,可以减小获取的验证码图像的面积,进而减少验证码处理装置后续所需处理的数据量,从而提高在验证码文本框中填入验证码的效率。
在示例性实施例中,可以通过以下方式,根据验证码文本框的位置信息,确定当前页面中验证码文本框的周边区域。即步骤302b可以通过以下方式实现:
获取位置信息中的纵坐标数值;
根据纵坐标数值与第一距离值的差值,确定验证码文本框的周边区域的最小纵坐标数值;
根据纵坐标数值与第一距离值的和值,确定验证码文本框的周边区域的最大纵坐标数值;以及,
将页面的当前显示区域中最小纵坐标数值和最大纵坐标数值所限定的子区域,确定为页面中验证码文本框的周边区域。
其中,位置信息中的纵坐标数值,可以是验证码文本框的左上角的纵坐标数值,也可以是验证码文本框的中心点的纵坐标数值,也可以是验证码文本框的右上角的纵坐标数值,也可以是光标的纵坐标数值,等等,本申请对此不作限制。
可以理解的时,实际应用中,验证码通常位于验证码文本框上部或下部的相邻区域,那么,在示例性实施例中,可以将位置信息中的纵坐标数值与第一距离值的差值,确定为验证码文本框的周边区域的最小纵坐标数值,将位置信息中的纵坐标数值与第一距离值的和值,确定为验证码文本框的周边区域的最大纵坐标数值,进而将页面的当前显示区域中最小纵坐标数值和最大纵坐标数值所限定的子区域,即页面的最小纵坐标数值与最大纵坐标数值之间,与显示屏等宽的子区域,确定为页面中验证码文本框的周边区域。进而可以按照验证码文本框的周边区域对当前页面进行截图,以获取验证码图像。
其中,第一距离值,可以根据需要设置。
可以理解的是,第一距离值设置的越大,确定的页面中验证码文本框的周边区域的面积越大,第一距离值设置的越小,确定的页面中验证码文本框的周边区域的面积越小,而验证码文本框的周边区域的面积越小时,验证码实际位于该区域的可能性越小,验证码处理装置所需处理的数据量越小,验证码文本框的周边区域的面积越大时,验证码实际位于该区域的可能性越大,验证码处理装置所需处理的数据量越大,因此,在实际应用中,可以灵活设置第一距离值的大小,以在保证验证码文本框的周边区域包含验证码的同时,尽量减少验证码处理装置所需处理的数据量。
通过灵活设置第一距离值的大小,进而根据验证码文本框的位置信息中的纵坐标数值与第一距离值的和值及差值,确定页面中验证码文本框的周边区域,可以准确确定验证码所在的区域,进而可以准确确定验证码图像,为后续根据验证码图像准确的在验证码文本框中填入验证码奠定基础,且通过根据验证码文本框的位置信息中的纵坐标数值与第一距离值的和值及差值,确定页面中验证码文本框的周边区域,进而根据验证码文本框的周边区域对页面进行截图,可以减小获取的验证码图像的面积,进而减少验证码处理装置后续所需处理的数据量,从而提高在验证码文本框中填入验证码的效率。
方式二
根据验证码文本框选中请求,查询当前页面的结构树,以获取验证码图像。
在示例性实施例中,可以根据验证码文本框选中请求,查询当前页面的结构树,以确定当前页面中验证码所在区域,进而按照验证码所在区域,对当前页面进行截图,以获取验证码图像。
可以理解的是,每个页面均对应一个结构树,对于一个页面,通过遍历该页面的结构树,可以获取该页面中的各种文本框、图像、字符串等对象的位置及其类型等信息。
本申请实施例中,验证码文本框选中请求中,可以包括验证码文本框的位置信息,由于验证码通常在页面中以字符串或者图像的形式显示,从而验证码处理装置可以在获取验证码文本框选中请求后,查询当前页面的结构树,以确定字符串类型和图像类型的对象的位置信息,并根据字符串类型和图像类型的对象的位置信息与验证码文本框的位置信息,确定字符串类型和图像类型的对象与验证码文本框之间的距离,进而获取这些字符串类型和图像类型的对象中,与验证码文本框之间的距离小于第二距离值的对象,将这些与验证码文本框之间的距离小于第二距离值的对象在页面中的区域,作为验证码所在区域,按验证码所在区域对当前页面进行截图,即可获取验证码图像。
其中,第二距离值,可以根据需要设置。
可以理解的是,第二距离值设置的越大,确定的页面中验证码所在区域的面积越大,第二距离值设置的越小,确定的页面中验证码所在区域的面积越小,而验证码所在区域的面积越小时,验证码实际位于该区域的可能性越小,验证码处理装置所需处理的数据量越小,验证码所在区域的面积越大时,验证码实际位于该区域的可能性越大,验证码处理装置所需处理的数据量越大,因此,在实际应用中,可以灵活设置第二距离值的大小,以在保证验证码所在包含验证码的同时,尽量减少验证码处理装置所需处理的数据量。
通过灵活设置第二距离值的大小,进而根据字符串类型和图像类型的对象中,与验证码文本框之间的距离小于第二距离值的对象所在区域,确定页面中验证码所在区域,可以准确确定验证码所在的区域,进而可以准确确定验证码图像,为后续根据验证码图像准确的在验证码文本框中填入验证码奠定基础,且通过根据字符串类型和图像类型的对象中,与验证码文本框之间的距离小于第二距离值的对象所在区域,确定页面中验证码所在区域,进而根据验证码所在区域对页面进行截图,可以减小获取的验证码图像的面积,进而减少验证码处理装置后续所需处理的数据量,从而提高在验证码文本框中填入验证码的效率。
步骤303,对验证码图像进行识别,以获取验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串。
步骤304,根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串。
步骤305,将目标字符串填入到验证码文本框中。
具体的,验证码处理装置获取验证码图像后,即可对验证码图像进行识别,以获取验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,进而将目标字符串填入到验证码文本框中。
其中,上述步骤303-305的具体实现过程及原理,可以参考上述实施例的描述,此处不再赘述。
本申请实施例提供的验证码处理方法,首先获取文本框选中请求,然后根据验证码文本框选中请求对当前页面进行处理,以获取验证码图像,再对验证码图像进行识别,以获取验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,再将目标字符串填入到验证码文本框中。由此,实现了根据验证码文本框选中请求对当前页面进行处理,以获取验证码图像,进而自动识别验证码图像中的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
通过上述分析可知,在获取验证码图像后,可以对验证码图像进行识别,以获取验证码图像中的至少一个字符串区域以及每个字符串区域中的字符串,进而确定待输入验证码文本框的目标字符串,下面结合图5,对本申请中如何对验证码图像进行识别,以获取验证码图像中的至少一个字符串区域以及每个字符串区域中的字符串的过程进行说明。
图5是根据本申请第四实施例的示意图。如图5所示,验证码处理方法,可以包括以下步骤:
步骤401,获取验证码文本框选中请求。
步骤402,根据验证码文本框选中请求对当前页面进行处理,以获取验证码图像。
其中,上述步骤401-402的具体实现过程及原理,可以参照上述实施例的描述,此处不再赘述。
步骤403,将验证码图像发送给验证码特征模型,以获取验证码图像中的至少一个字符串区域。
其中,字符串区域,为包含字符串的区域。
具体的,可以预先训练生成验证码特征模型,验证码特征模型的输入为图像,输出为图像中的至少一个字符串区域以及字符串区域的区域类别,从而验证码处理装置在获取验证码图像后,可以将验证码图像发送给验证码特征模型,以获取验证码图像中的至少一个字符串区域以及字符串区域的区域类别。
其中,某个区域对应的区域类别,用于表征该区域包含的内容是否为字符串类型,在本申请实施例中,若某个区域包括的内容为字符串类型,则该区域对应的区域类别为字符串区域类型,若某个区域包括的内容为非字符串类型,则该区域对应的区域类别为非字符串区域类型。
在示例性实施例中,验证码特征模型输出的验证码图像中的至少一个字符串区域,具体可以包括至少一个字符串区域的位置信息。由于字符串区域通常不是一个点,而是具有一定的面积,因此,在示例性实施例中,可以设置字符串区域的位置信息包括字符串区域中某个点的横坐标数值、纵坐标数值以及字符串区域的尺寸信息。比如,字符串区域的位置信息可以包括字符串区域的左上角的横坐标数值、纵坐标数值,以及字符串区域的宽度数值和高度数值;或者,字符串区域的位置信息可以包括字符串区域的中心点的横坐标数值、纵坐标数值,以及字符串区域的宽度数值和高度数值;或者,字符串区域的位置信息可以包括字符串区域的右上角的横坐标数值、纵坐标数值,以及字符串区域的宽度数值和高度数值,等等,本申请对此不作限制。
其中,验证码特征模型,可以是任意深度神经网络模型,例如卷积神经网络模型、递归神经网络模型等,或者,也可以是其它类型的数据处理模型,本申请对验证码特征模型的类型不作限制。
需要说明的是,在示例性实施例中,验证码特征模型,可以与验证码处理装置同时配置于电子设备中,比如,验证码特征模型和验证码处理装置同时配置在终端中;或者,验证码特征模型,也可以与验证码处理装置配置在不同的电子设备中,比如,验证码处理装置配置在终端中,验证码特征模型配置在云端服务器中,本申请对此不作限制。
相应的,在步骤403之前,还可以获取验证码特征模型,具体的,验证码特征模型可以通过以下方式获取:
获取训练数据,训练数据包括:预设数量的图像,以及图像中的字符串区域以及对应的区域类别;以及,
采用训练数据对初始的验证码特征模型进行深度学习训练,得到训练好的验证码特征模型。
其中,初始的验证码特征模型,可以是任意深度神经网络模型,例如卷积神经网络模型、递归神经网络模型等,或者,也可以是其它类型的数据处理模型,本申请对初始的验证码特征模型的类型不作限制。
具体的,可以预先获取预设数量的图像,并对图像中的字符串区域以及对应的区域类别,以及图像中的非字符串区域以及对应的区域类别进行标注,得到训练数据,然后采用训练数据对初始的验证码特征模型进行训练,得到训练好的验证码特征模型。在对初始的验证码特征模型进行训练时,可以通过深度学习的方式进行训练,相比于其他机器学习方法,深度学习在大数据集上的表现更好。通过深度学习的方式训练初始的验证码特征模型时,可以将训练数据中的预设数量的图像作为输入,将图像中的字符串区域以及对应的区域类别作为输出结果,通过不断的调整初始的验证码特征模型的模型参数对初始的验证码特征模型进行迭代训练,直至训练好的验证码特征模型的输出结果的准确率满足预先设定的阈值,训练结束,得到训练好的验证码特征模型。
通过利用包括预设数量的图像,以及图像中的字符串区域以及对应的区域类别的训练数据,对初始的验证码特征模型进行深度学习训练,可以使得训练好的验证码特征模型能够准确获取任意图像中的字符串区域以及对应的区域类别。
步骤404,对至少一个字符串区域进行字符识别,以获取至少一个字符串区域中的字符串。
在示例性实施例中,可以通过OCR技术对至少一个字符串区域进行字符识别,以获取至少一个字符串区域中的字符串。具体利用OCR技术对至少一个字符串区域进行字符识别时,可以利用OCR技术对至少一个字符串区域的位置信息分别对应的字符串区域进行识别,以将图像类型的至少一个字符串区域识别成文本类型的字符串。
或者,也可以预先通过深度学习的方式,训练能够识别图像中的字符串区域中的字符串的识别模型,识别模型的输入为图像中的字符串区域,输出为字符串区域中的字符串,从而通过将至少一个字符串区域的位置信息分别对应的字符串区域输入识别模型,可以获取至少一个字符串区域中的字符串。
通过将验证码图像发送给验证码特征模型,以获取验证码图像中的至少一个字符串区域,再对至少一个字符串区域进行字符识别,以获取至少一个字符串区域中的字符串,使得验证码处理装置可以仅对字符串区域进行字符识别,而对非字符串区域不进行字符识别,从而减少了验证码处理装置所需处理的数据量,从而提高了在验证码文本框中填入验证码的效率。
步骤405,判断字符串的数量是否为单个,若是,则执行步骤406,否则,执行步骤407。
步骤406,将字符串确定为目标字符串。
步骤407,将多个字符串作为多个输入候选项进行显示。
步骤408,获取用户所选择的输入候选项。
步骤409,将用户所选择的输入候选项,确定为目标字符串。
步骤410,将目标字符串填入到验证码文本框中。
可以理解的是,验证码处理装置获取的验证码图像中的字符串区域可能为一个或多个,相应的,对至少一个字符串区域进行字符识别,获取的字符串的数量也可能为一个或多个。在本申请实施例中,若获取的字符串的数量为单个,则可以将该字符串确定为目标字符串,并将目标字符串填入到验证码文本框中。若获取的字符串的数量为多个,则可以将多个字符串作为多个输入候选项进行显示,以使用户可以从显示的多个输入候选项中选择正确的字符串作为目标字符串,在获取用户所选择的输入候选项后,即可将用户所选择的输入候选项,确定为目标字符串,并将目标字符串填入到验证码文本框中。
通过在字符串的数量为单个时,将字符串确定为目标字符串,在字符串的数量为多个时,将多个字符串作为多个输入候选项进行显示,进而根据用户所选择的输入候选项确定目标字符串,提高了确定的目标字符串的准确性,进而提高了在验证码文本框中填入的验证码的准确性。
本申请实施例提供的验证码处理方法,首先获取验证码文本框选中请求,然后根据验证码文本框选中请求对当前页面进行处理,以获取验证码图像,再将验证码图像发送给验证码特征模型,以获取验证码图像中的至少一个字符串区域,再对至少一个字符串区域进行字符识别,以获取至少一个字符串区域中的字符串,在字符串的数量为单个时,可以将字符串确定为目标字符串,在字符串的数量为多个时,可以将多个字符串作为多个输入候选项进行显示,然后根据用户所选择的输入候选项,确定目标字符串,最后将目标字符串填入到验证码文本框中。由此,实现了在获取验证码文本框的选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
下面结合图6,对本申请提供的验证码处理装置进行说明。
图6是根据本申请第五实施例的验证码处理装置的结构示意图。
如图6所示,本申请提供的验证码处理装置10,包括:
获取模块11,用于获取验证码文本框选中请求;
识别模块12,用于根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串;
确定模块13,用于根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串;以及,
处理模块14,用于将目标字符串填入到验证码文本框中。
具体的,本实施例提供的验证码处理装置,可以执行前述实施例所述的验证码处理方法,其中,验证码处理装置可以被配置在电子设备中,以实现自动快速的将验证码填入到验证码文本框中。
其中,电子设备,可以是任意能够进行数据处理的静止或者移动计算设备,例如笔记本电脑、智能手机、可穿戴设备等移动计算设备,或者台式计算机等静止的计算设备,或者服务器,或者其它类型的计算设备等。验证码处理装置可以是安装在电子设备中的验证码处理应用程序,也可以是该验证码处理应用程序的管理者、开发者所使用的对该验证码处理应用程序进行管理、维护的网页、应用程序等,本申请对此不作限制。本申请以电子设备为智能手机,验证码处理装置为智能手机中安装的应用软件为例进行说明。
上述实施例中对验证码处理方法的说明,也适用于本申请实施例中的验证码处理装置10,此处不再赘述。
本申请实施例提供的验证码处理装置,首先获取验证码文本框选中请求,然后根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,最后将目标字符串填入到验证码文本框中。由此,实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
下面结合图7,对本申请提供的验证码处理装置进行进一步说明。图7是根据本申请第六实施例的验证码处理装置的结构示意图。
如图7所示,本申请提供的验证码处理装置10,可以包括:
获取模块11,用于获取验证码文本框选中请求;
识别模块12,用于根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串;
确定模块13,用于根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串;以及,
处理模块14,用于将目标字符串填入到验证码文本框中。
在示例性实施例中,如图7所示,上述获取模块11,可以包括:
第一获取子模块111,用于获取文本框选中请求,文本框选中请求中包括:当前页面中文本框的标识信息;
查询子模块112,用于根据文本框的标识信息查询当前页面的结构树,确定文本框是否为验证码文本框;
第一确定子模块113,用于在文本框为验证码文本框时,确定文本框选中请求为验证码文本框选中请求。
在示例性实施例中,上述识别模块12,可以包括:
处理子模块121,用于根据验证码文本框选中请求对当前页面进行处理,以获取验证码图像;
识别子模块122,用于对验证码图像进行识别,以获取验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串。
在示例性实施例中,上述处理子模块121,可以包括:
第一获取单元,用于根据验证码文本框选中请求获取验证码文本框的位置信息;
确定单元,用于根据验证码文本框的位置信息,确定当前页面中验证码文本框的周边区域;以及,
处理单元,用于按照验证码文本框的周边区域对当前页面进行截图,以获取验证码图像。
在示例性实施例中,上述确定单元,可以包括:
获取子单元,用于获取位置信息中的纵坐标数值;
第一确定子单元,用于根据纵坐标数值与第一距离值的差值,确定周边区域的最小纵坐标数值;
第二确定子单元,用于根据纵坐标数值与第一距离值的和值,确定周边区域的最大纵坐标数值;以及,
第三确定子单元,用于将页面的当前显示区域中最小纵坐标数值和最大纵坐标数值所限定的子区域,确定为页面中验证码文本框的周边区域。
在示例性实施例中,如图7所示,上述识别子模块122,可以包括:
第二获取单元,用于将验证码图像发送给验证码特征模型,以获取验证码图像中的至少一个字符串区域;以及,
识别单元,用于对至少一个字符串区域进行字符识别,以获取至少一个字符串区域中的字符串。
在示例性实施例中,上述验证码特征模型的获取方式可以为:
获取训练数据,训练数据包括:预设数量的图像,以及图像中的字符串区域以及对应的区域类别;以及,
采用训练数据对初始的验证码特征模型进行深度学习训练,得到训练好的验证码特征模型。
在示例性实施例中,如图7所示,上述确定模块13,可以包括:
第二确定子模块131,用于在字符串的数量为单个时,将字符串确定为目标字符串;或者,
显示子模块132,用于在字符串的数量为多个时,将多个字符串作为多个输入候选项进行显示;
第二获取子模块133,用于获取用户所选择的输入候选项;
第三确定子模块134,用于将用户所选择的输入候选项,确定为目标字符串。
上述实施例中对验证码处理方法的说明,也适用于本申请实施例中的验证码处理装置10,此处不再赘述。
本申请实施例提供的验证码处理装置,首先获取验证码文本框选中请求,然后根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,最后将目标字符串填入到验证码文本框中。由此,实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
根据本申请的实施例,本申请还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
如图8所示,是根据本申请实施例的验证码处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图8所示,该电子设备包括:一个或多个处理器801、存储器802,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图8中以一个处理器801为例。
存储器802即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的验证码处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的验证码处理方法。
存储器802作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的验证码处理方法对应的程序指令/模块(例如,附图6所示的第一获取模块11、第一处理模块12、识别模块13、确定模块14和第二处理模块15)。处理器801通过运行存储在存储器802中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的验证码处理方法。
存储器802可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据验证码处理方法的电子设备的使用所创建的数据等。此外,存储器802可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器802可选包括相对于处理器801远程设置的存储器,这些远程存储器可以通过网络连接至验证码处理方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
验证码处理方法的电子设备还可以包括:输入装置803和输出装置804。处理器801、存储器802、输入装置803和输出装置804可以通过总线或者其他方式连接,图8中以通过总线连接为例。
输入装置803可接收输入的数字或字符信息,以及产生与验证码处理方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置804可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与虚拟专用服务器(Virtual Private Server,简称VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。
根据本申请实施例的技术方案,首先获取验证码文本框选中请求,然后根据验证码文本框选中请求对当前页面进行识别,以获取当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串,再根据至少一个字符串区域中的字符串,确定待输入验证码文本框的目标字符串,最后将目标字符串填入到验证码文本框中。由此,实现了在获取验证码文本框选中请求后,自动识别出待填入验证码文本框的验证码,并在验证码文本框中自动填入验证码,提高了在验证码文本框中填入验证码的效率。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (10)

1.一种验证码处理方法,包括:
获取验证码文本框选中请求;
根据所述验证码文本框选中请求获取所述验证码文本框的位置信息;
获取所述位置信息中的纵坐标数值,根据所述纵坐标数值与第一距离值的差值,确定当前页面中所述验证码文本框的周边区域的最小纵坐标数值,根据所述纵坐标数值与所述第一距离值的和值,确定所述周边区域的最大纵坐标数值,将所述页面的当前显示区域中所述最小纵坐标数值和所述最大纵坐标数值所限定的子区域,确定为所述页面中所述验证码文本框的周边区域;
按照所述周边区域对所述当前页面进行截图,以获取验证码图像;
对所述验证码图像进行识别,以获取所述验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串;
在所述字符串的数量为单个时,将所述字符串确定为待输入所述验证码文本框的目标字符串;
在所述字符串的数量为多个时,将多个字符串作为多个输入候选项进行显示,获取用户所选择的输入候选项,将用户所选择的输入候选项,确定为所述目标字符串;以及,
将所述目标字符串填入到所述验证码文本框中。
2.根据权利要求1所述的方法,其中,所述对所述验证码图像进行识别,以获取所述验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串,包括:
将所述验证码图像发送给验证码特征模型,以获取所述验证码图像中的至少一个字符串区域;以及,
对所述至少一个字符串区域进行字符识别,以获取所述至少一个字符串区域中的字符串。
3.根据权利要求2所述的方法,其中,所述验证码特征模型的获取方式为,
获取训练数据,所述训练数据包括:预设数量的图像,以及图像中的字符串区域以及对应的区域类别;以及,
采用所述训练数据对初始的验证码特征模型进行深度学习训练,得到训练好的验证码特征模型。
4.根据权利要求1所述的方法,其中,所述验证码文本框选中请求通过以下步骤生成:
获取文本框选中请求,所述文本框选中请求中包括:所述当前页面中文本框的标识信息;
根据所述文本框的标识信息查询所述当前页面的结构树,确定所述文本框是否为验证码文本框;
在所述文本框为验证码文本框时,确定所述文本框选中请求为验证码文本框选中请求。
5.一种验证码处理装置,包括:
获取模块,用于获取验证码文本框选中请求;
识别模块,用于根据所述验证码文本框选中请求对当前页面进行识别,以获取所述当前页面中的至少一个字符串区域,以及每个字符串区域中的字符串;
确定模块,用于根据所述至少一个字符串区域中的字符串,确定待输入所述验证码文本框的目标字符串;以及,
处理模块,用于将所述目标字符串填入到所述验证码文本框中;
其中,所述识别模块,包括:
处理子模块,用于根据所述验证码文本框选中请求对所述当前页面进行处理,以获取验证码图像;
识别子模块,用于对所述验证码图像进行识别,以获取所述验证码图像中的至少一个字符串区域,以及每个字符串区域中的字符串;
其中,所述处理子模块,包括:
第一获取单元,用于根据所述验证码文本框选中请求获取所述验证码文本框的位置信息;
确定单元,用于根据所述验证码文本框的位置信息,确定所述当前页面中所述验证码文本框的周边区域;以及,
处理单元,用于按照所述验证码文本框的周边区域对所述当前页面进行截图,以获取所述验证码图像;
其中,所述确定单元,包括:
获取子单元,用于获取所述位置信息中的纵坐标数值;
第一确定子单元,用于根据所述纵坐标数值与第一距离值的差值,确定所述周边区域的最小纵坐标数值;
第二确定子单元,用于根据所述纵坐标数值与所述第一距离值的和值,确定所述周边区域的最大纵坐标数值;以及,
第三确定子单元,用于将所述页面的当前显示区域中所述最小纵坐标数值和所述最大纵坐标数值所限定的子区域,确定为所述页面中所述验证码文本框的周边区域;
其中,所述确定模块,包括:
第二确定子模块,用于在所述字符串的数量为单个时,将所述字符串确定为所述目标字符串;或者,
显示子模块,用于在所述字符串的数量为多个时,将多个字符串作为多个输入候选项进行显示;
第二获取子模块,用于获取用户所选择的输入候选项;
第三确定子模块,用于将用户所选择的输入候选项,确定为所述目标字符串。
6.根据权利要求5所述的装置,其中,所述识别子模块,包括:
第二获取单元,用于将所述验证码图像发送给验证码特征模型,以获取所述验证码图像中的至少一个字符串区域;以及,
识别单元,用于对所述至少一个字符串区域进行字符识别,以获取所述至少一个字符串区域中的字符串。
7.根据权利要求6所述的装置,所述验证码特征模型的获取方式为,
获取训练数据,所述训练数据包括:预设数量的图像,以及图像中的字符串区域以及对应的区域类别;以及,
采用所述训练数据对初始的验证码特征模型进行深度学习训练,得到训练好的验证码特征模型。
8.根据权利要求5所述的装置,其中,所述获取模块,包括:
第一获取子模块,用于获取文本框选中请求,所述文本框选中请求中包括:所述当前页面中文本框的标识信息;
查询子模块,用于根据所述文本框的标识信息查询所述当前页面的结构树,确定所述文本框是否为验证码文本框;
第一确定子模块,用于在所述文本框为验证码文本框时,确定所述文本框选中请求为验证码文本框选中请求。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的方法。
CN202010611893.9A 2020-06-30 2020-06-30 验证码处理方法、装置、电子设备以及存储介质 Active CN111966432B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010611893.9A CN111966432B (zh) 2020-06-30 2020-06-30 验证码处理方法、装置、电子设备以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010611893.9A CN111966432B (zh) 2020-06-30 2020-06-30 验证码处理方法、装置、电子设备以及存储介质

Publications (2)

Publication Number Publication Date
CN111966432A CN111966432A (zh) 2020-11-20
CN111966432B true CN111966432B (zh) 2023-07-28

Family

ID=73360886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010611893.9A Active CN111966432B (zh) 2020-06-30 2020-06-30 验证码处理方法、装置、电子设备以及存储介质

Country Status (1)

Country Link
CN (1) CN111966432B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112948801A (zh) * 2021-03-05 2021-06-11 上海臣星软件技术有限公司 验证码输入的方法、装置、设备及计算机存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295586A (ja) * 2003-03-27 2004-10-21 Fujitsu Ltd 音声認証装置、音声認証方法及び音声認証プログラム
CN102737122A (zh) * 2012-06-08 2012-10-17 浙江大学 一种提取网页中验证码图片的方法
CN105046140A (zh) * 2015-06-09 2015-11-11 苏州德锐朗智能科技有限公司 一种用于字符验证码的自动输入方法
CN105160236A (zh) * 2015-08-31 2015-12-16 小米科技有限责任公司 一种输入验证码的方法和装置
WO2019041424A1 (zh) * 2017-08-28 2019-03-07 上海壹账通金融科技有限公司 验证码识别方法、装置、计算机设备及计算机存储介质
CN109740040A (zh) * 2018-10-26 2019-05-10 深圳壹账通智能科技有限公司 验证码识别方法、装置、存储介质和计算机设备
CN109977957A (zh) * 2019-03-04 2019-07-05 苏宁易购集团股份有限公司 一种基于深度学习的发票识别方法及系统
WO2019136960A1 (zh) * 2018-01-12 2019-07-18 深圳壹账通智能科技有限公司 一种爬取网站数据的方法、存储介质、服务器及装置
CN111274957A (zh) * 2020-01-20 2020-06-12 阳光人寿保险股份有限公司 网页页面验证码识别方法、装置、终端和计算机存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014075096A (ja) * 2012-10-05 2014-04-24 Panasonic Corp 入力方法、入力装置、及び入力プログラム

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004295586A (ja) * 2003-03-27 2004-10-21 Fujitsu Ltd 音声認証装置、音声認証方法及び音声認証プログラム
CN102737122A (zh) * 2012-06-08 2012-10-17 浙江大学 一种提取网页中验证码图片的方法
CN105046140A (zh) * 2015-06-09 2015-11-11 苏州德锐朗智能科技有限公司 一种用于字符验证码的自动输入方法
CN105160236A (zh) * 2015-08-31 2015-12-16 小米科技有限责任公司 一种输入验证码的方法和装置
WO2019041424A1 (zh) * 2017-08-28 2019-03-07 上海壹账通金融科技有限公司 验证码识别方法、装置、计算机设备及计算机存储介质
WO2019136960A1 (zh) * 2018-01-12 2019-07-18 深圳壹账通智能科技有限公司 一种爬取网站数据的方法、存储介质、服务器及装置
CN109740040A (zh) * 2018-10-26 2019-05-10 深圳壹账通智能科技有限公司 验证码识别方法、装置、存储介质和计算机设备
CN109977957A (zh) * 2019-03-04 2019-07-05 苏宁易购集团股份有限公司 一种基于深度学习的发票识别方法及系统
CN111274957A (zh) * 2020-01-20 2020-06-12 阳光人寿保险股份有限公司 网页页面验证码识别方法、装置、终端和计算机存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Published By ACM Research on Optimization of CAPTCHA Recognition Algorithm Based on SVM;Li Wei 等;Proceedings of the 2019 11th International Conference on Machine Learning and Computing;全文 *
基于随机顺序的图形验证码改进算法设计;李欢;高岭;刘琳;邢斌;;计算机应用(第06期);全文 *

Also Published As

Publication number Publication date
CN111966432A (zh) 2020-11-20

Similar Documents

Publication Publication Date Title
CN111782977B (zh) 兴趣点处理方法、装置、设备及计算机可读存储介质
CN110413740B (zh) 化学表达式的查询方法、装置、电子设备及存储介质
CN111507355B (zh) 一种字符识别方法、装置、设备和存储介质
EP3922950A2 (en) Road information processing method and apparatus, electronic device, storage medium and program
US20210049354A1 (en) Human object recognition method, device, electronic apparatus and storage medium
CN111949814A (zh) 搜索方法、装置、电子设备和存储介质
US11915466B2 (en) Method and apparatus for determining target anchor, device and storage medium
JP7389824B2 (ja) オブジェクト識別方法と装置、電子機器及び記憶媒体
JP7264957B2 (ja) 音声インタラクション方法、装置、電子機器、コンピュータ読取可能な記憶媒体及びコンピュータプログラム
US11423650B2 (en) Visual positioning method and apparatus, and computer-readable storage medium
CN111090991A (zh) 场景纠错方法、装置、电子设备和存储介质
CN110532415B (zh) 图像搜索处理方法、装置、设备及存储介质
EP2947584A1 (en) Multimodal search method and device
US11830242B2 (en) Method for generating a license plate defacement classification model, license plate defacement classification method, electronic device and storage medium
CN111966432B (zh) 验证码处理方法、装置、电子设备以及存储介质
CN110955833A (zh) 一种搜索方法、装置、服务器、终端设备和介质
CN101882025A (zh) 手写输入方法及系统
JP5735126B2 (ja) システムおよび筆跡検索方法
CN112558810B (zh) 检测指尖位置的方法、装置、设备和存储介质
CN112329434B (zh) 文本信息识别方法、装置、电子设备和存储介质
CN113010811B (zh) 网页获取方法、装置、电子设备及计算机可读存储介质
JP6655331B2 (ja) 電子機器及び方法
CN111966846A (zh) 图像查询方法、装置、电子设备和存储介质
CN112381090A (zh) 确定电话的方法、装置、电子设备和存储介质
CN111506786B (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