表单识别方法和装置的制作方法

文档序号:6383737阅读:205来源:国知局
专利名称:表单识别方法和装置的制作方法
技术领域
本发明涉及数据处理领域,具体而言,涉及一种表单识别方法和装置。
背景技术
双核浏览器,即有两个内核的浏览器,包括Trident内核与Webkit内核。Trident内核为网页浏览器(Internet Explorer,简称IE)所使用,IE浏览器在国内普及率非常高,很多网站只考虑兼容IE,而不符合万维网联盟(World Wide Web Consortium,简称W3C)标准,例如网银,在线支付类网站。Webkit内核对W3C标准支持的很完善,同时具有高速的特点。Trident内核的兼容性加Webkit内核的高速,双核浏览器满足了不同的用户需求。现有技术中,Trident内核与Webkit内核的双核表单识别采用了针对超文本标记语言(Hypertext Markup Language,简称HTML)网页中form表单进行识别,具体识别方式是当用户在页面中填入表单信息,点击提交按钮,执行提交事件后,通过执行提交事件的结果来判断表单是否提交成功。如果表单提交成功,则将表单数据存储在数据库中,数据库中会存储表单中的多个字段,视为一个成功的表单信息,通过上述描述可以看出,现有技术中在对表单进行识别时需要对提交成功后的表单中的多个字段进行判断,在多个字段均满足条件的情况下才能达到对表单的识别,此种需要对表单中多个字段进行识别的方式不仅会造成表单识别率降低,在后续用户对表单进行填写时,仍然需要对数据库中的多个字段分别进行匹配才能判断出用户正在填写的表单是否为当前网页表单,只有在判断出为当前表单时才可正常填写,造成不方便用户操作,用户体验度降低。针对相关技术中表单识别率较低的问题,目前尚未提出有效的解决方案。

发明内容

本发明的主要目的在于提供一种表单识别方法和装置,以解决现有技术中表单识别率较低的问题。为了实现上述目的,根据本发明的一个方面,提供了一种表单识别方法,包括接收访问指令;加载与访问指令相对应的网页;对加载的网页的网页代码进行扫描;判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,第一预设属性对应的元素为密码元素;判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,第二预设属性对应的元素为用户名元素;以及若判断出扫描到的网页代码中包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素,则确定加载的网页为表单网页。进一步地,对加载的网页的网页代码进行扫描包括获取产生访问指令的内核类型;若获取到的内核类型为Trident内核,则注入预设脚本代码至网页代码中以对网页代码进行扫描;以及若获取到的内核类型为Webkit内核,则对网页代码中的DOM树中的input控件进行扫描。进一步地,在确定加载的网页为表单网页之后,表单识别方法还包括判断是否接收到触发指令,其中,触发指令用于提交表单网页;以及若判断出接收到触发指令,则确定表单网页为有效表单。进一步地,在产生访问指令的内核类型为Trident内核时,判断是否接收到触发指令包括获取网页代码中属性为第三预设属性的元素,得到第一元素,其中,第三预设属性对应的元素为提交事件;复制第一元素,得到第二元素;以第二元素覆盖第一元素;以及判断第二元素是否被执行,若判断出第二元素被执行,则确定接收到触发指令。进一步地,在产生访问指令的内核类型为Webkit内核时,判断是否接收到触发指令包括获取网页代码中属性为第三预设属性的元素,得到第一元素,其中,第三预设属性对应的元素为提交事件;以及判断第一元素是否被执行,若判断出第一元素被执行,则确定接收到触发指令。进一步地,在确定加载的网页为表单网页之后,并且在判断是否接收到触发指令之前,表单识别方法还包括获取属性为第一预设属性的元素,得到密码元素;获取属性为第二预设属性的元素,得到用户名元素;查询预设数据库以判断密码数据和用户名数据是否均已保存在预设数据库中,其中,密码数据为密码元素对应的数据,用户名数据为用户名元素对应的数据;以及若判断出密码数据和用户名数据均已保存在预设数据库中,则添加密码数据至加载的网页的密码元素中,以及添加用户名数据至加载的网页的用户名元素中。进一步地,在确定加载的网页为表单网页之后,并且在判断是否接收到触发指令之前,表单识别方法还包括获取属性为第一预设属性的元素,得到密码元素;获取属性为第二预设属性的元素,得到用户名元素;查询预设数据库以判断密码数据和用户名数据是否均已保存在预设数据库中,其中,密码数据为密码元素对应的数据,用户名数据为用户名元素对应的数据;若判断出用户名数据已保存在预设数据库中,并且密码数据未保存在预设数据库中,则添加用户名数据至加载的网页的用户名元素中,并且接收用户输入的密码数据;以及若判断出用户名数据和密码数据均未保存在预设数据库中,则接收用户输入的密码数据和用户名数据。进一步地,在判断出接收到触发指令之后,表单识别方法还包括显示预设弹窗,其中,预设弹窗上设置有提示内容,提示内容用于提示用户选择是否保存密码数据和用户名数据,或提示用户选择是否保存密码数据;接收来自用户的选择指令;以及在选择指令表示选择保存密码数据和用户名数据时,保存密码数据和用户名数据至预设数据库,或保存密码数据至预设数据库。为了实现上述目的,根据本发明的另一方面,提供了一种表单识别装置,该表单识别装置用于执行本发明上述内容所提供的任一种表单识别方法。为了实现上述目的,根据本发明的另一方面,提供了一种表单识别装置,包括接收单元,用于接收访问指令;加载单元,用于加载与访问指令相对应的网页;扫描单元,用于对加载的网页的网页代码进行扫描;第一判断单元,用于判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,第一预设属性对应的元素为密码元素;第二判断单元,用于判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,第二预设属性对应的元素为用户名元素;以及确定单元,用于若判断出扫描到的网页代码中包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素,则确定加载的网页为表单网页。
进一步地,扫描单元包括第一获取子单元,用于获取产生访问指令的内核类型;第一扫描子单元,用于在获取到的内核类型为Trident内核时,注入预设脚本代码至网页代码中以对网页代码进行扫描;以及第二扫描子单元,用于在获取到的内核类型为Webkit内核时,对网页代码中的DOM树中的input控件进行扫描。通过本发明,采用接收访问指令;加载与访问指令相对应的网页;对加载的网页的网页代码进行扫描;判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,第一预设属性对应的元素为密码元素;判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,第二预设属性对应的元素为用户名元素;以及若判断出扫描到的网页代码中包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素,则确定加载的网页为表单网页。通过对用户访问所加载的网页的网页代码进行扫描,实现对网页代码的监测,进而实现对网页代码中各个元素属性的监测,以快速检测出加载的网页是否包含满足预设属性的元素(即,实现快速检测出密码元素和用户名元素),此种只需通过对网页中的用户名字段和密码字段进行监测的方法,只需对加载的网页的网页代码进行扫描即可实现对加载的网页是否为表单网页的识别,相对现有技术中需要对提交成功后的表单中的多个字段进行判断的识别方法而言,有效地降低了表单识别的复杂度,解决了现有技术中表单识别率较低的问题,进而达到了提高表单识别率的效果。


构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的表单识别方法的流程图;图2是根据本发明实施例的表单识别方法对Webkit内核浏览器中密码元素和用户名元素扫描的流程图;图3是根据本发明实施例的表单识别方法对Trident内核浏览器中是否接收到触发指令的判断流程图;图4是根据本发明实施例的应用于Trident内核浏览器的表单识别方法;图5是根据本发明实施例的应用于Webkit内核浏览器的表单识别方法;以及图6是根据本发明实施例的表单识别装置的示意图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。本发明实施例提供了一种表单识别方法,以下对本发明实施例所提供的表单识别方法进行具体介绍图1是根据本发明实施例的表单识别方法的流程图,如图1所示,该方法包括如下的步骤SlOl至步骤S107 SlOl :接收来自用户的访问指令,具体地,当用户想要对某个网站进行访问时,会输入或链接输入这个网站的网址以进行打开网页,此时,即可接收到用户的访问指令。S102 :加载与访问指令相对应的网页,即,对与访问指令相对应的网址上的HTML进行加载,得到与访问指令相对应的网页。S103 :对加载的网页的网页代码进行扫描;S104:判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,第一预设属性对应的元素为密码元素,具体地,主要通过对加载的网页的网页代码进行扫描,检测扫描过程中是否能够扫描到属性为第一预设属性的元素,在本发明实施例中,第一预设属性可以定义为属性type= “password”,如果在加载的网页的网页代码中扫描到含属性type= “password”的input元素,则确定扫描到的网页代码中包括属性为第一预设属性的元素。S105:判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,第二预设属性对应的元素为用户名元素,具体地,主要通过检测扫描过程中是否能够扫描到属性为第二预设属性的元素,在本发明实施例中,第二预设属性可以定义为距离密码元素距离最近,并且满足属性type= “text”,如果在加载的网页的网页代码中扫描到含属性type=“teXt”的input元素,则确定扫描到的网页代码中包括属性为第二预设属性的元素。S106:若判断出扫描到的网页代码中包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素,则确定步骤S102中加载的网页为表单网页,即,当判断出网页代码中既包含密码元素又包含用户名元素,即可确定加载的网页是一个表单网页,也即实现对表单的识别。本发明实施例的表单识别方法通过对用户访问所加载的网页的网页代码进行扫描,实现对网页代码的监测,进而实现对网页代码中各个元素属性的监测,以快速检测出加载的网页是否包含满足预设属性的元素(即 ,实现快速检测出密码元素和用户名元素),此种只需通过对网页中的用户名字段和密码字段进行监测的方法,只需对加载的网页的网页代码进行扫描即可实现对加载的网页是否为表单网页的识别,相对现有技术中需要对提交成功后的表单中的多个字段进行判断的识别方法而言,有效地降低了表单识别的复杂度,解决了现有技术中表单识别率较低的问题,进而达到了提高表单识别率的效果。具体地,当用户通过不同类型的浏览器内核进行访问指令的下发时,对于不同内核的浏览器,本发明实施例所提供的识别方法中的步骤S103的具体处理方式不同。其中,在对加载网页的网页代码进行扫面时,首先对产生访问指令的内核类型进行获取,然后按照获取到的内核类型的不同采取不同的扫描方法,具体地,当获取到的内核类型为Trident内核时,则在访问指令对应的网页加载结束后,在加载的网页的网页代码中注入预设的JavaScript脚本代码(g卩,JS脚本代码),然后依靠JS脚本代码对加载的网页的网页代码HTML进行扫描监测;当获取到的内核类型为Webkit内核时,则可以直接对网页代码中的DOM树中的input控件进行扫描,其中,DOM树是指文档对象模型(HTMLDocument Object Model,简称 HTML DOM), HTML DOM 则是专门适用与 HTML 最佳化 HTML/XHTML的文档对象模型,对DOM树中的input控件进行扫描确定密码元素和用户名元素的流程如图2所示,其中,当扫描出DOM树中含有通用的input控件时,直接确定属性为type= “password”的input元素即为密码输入框元素,DOM树中在密码输入框之上、距离最近的属性type#text”、可编辑的input元素即为用户名输入框;当扫描出DOM树中不是通用的input控件时,可以在网页启动自动填表功能的网页的情况下,根据网页Origin URL、元素id、元素name属性及其它元素组成的复合条件定位用户名元素和密码元素。
在确定出加载的网页为表单网页之后,即在识别出表单之后,本发明实施例的识别方法还包括判断是否接收到用户下发的触发指令,其中,触发指令用于提交表单网页,在判断出接收到触发指令后,确定表单网页为有效表单,即,当加载的这个表单网页被用户提交后,浏览器即确定这个提交的表单是个有效表单,以便后续再次对这个表单网页进行加载时,能够更加快速准确地识别出这个表单。具体地,当用户在对包括密码元素和用户名元素的表单网页进行提交时,会相应地触发网页代码中对应的提交事件,则可以通过判断该提交事件是否被触发来实现判断是否接收到用户下发的触发指令。其中,若产生访问指令的内核类型为Trident内核时,判断是否接收到触发指令的判断流程在图3中示出,具体地,如图3所示,首先通过JS脚本代码对加载的网页的网页代码进行扫描,以获取属性为第三预设属性的元素(以下称作第一元素),其中,在网页代码中的提交按钮采用通用规则的情况下,第三预设属性可以定义为属性type= “submit”,获取到第一元素就是指获取到网页代码中属性为type= “submit”的元素,也即指查找到加载的网页中的提交按钮;在网页代码中的提交按钮采用非通用规则的情况下,则根据元素、属性及其它元素组成符合条件定位提交按钮;然后对第一元素进行复制得到第二元素,并以第二元素覆盖第一元素,即,采用预设的JavaScript脚本代码中的克隆方法对该提交按钮进行克隆,并将克隆后的提交按钮放在原提交按钮前端,并通过时间流命名方式对克隆后的提交按钮命名一个复杂且唯一的id ;最后,判断第二元素是否被执行,由于用户在进行密码元素和用户名元素提交时,必须经过触发提交事件id来实现,此时第二元素则被执行,所以,通过判断第二元素是否被执行则可以实现判断是否接收到用户下发的触发指令,其中,在第二元素被执行时,确定接收到用户下发的触发指令。当处理执行克隆的提交按钮后,原有提交按钮对应的事件也会按照原有的顺序被执行,如果执行提交按钮本身事件后,返回值为真,则继续执行网页代码中的form事件,若返回值为假,则停止。其中,采用“第一元素”、“第二元素”这样的描述语言只是为了对不同的元素进行区分表达,而并非是对元素的先后顺序作限定,下文中出现类似表述的地方也是为了进行区分,不是对先后顺序的限定。若产生访问指令的内核类型为Webkit内核,则通过对网页代码中的DOM树中的input控件进行扫描获取到加载的网页的网页代码中属性为第三预设属性的元素,得到第一元素,即,获取到Webkit内核型浏览器的网页中的提交按钮,然后通过判断第一元素是否被执行来判断是否接收到用户下发的触发指令,若判断出第一元素被执行,则确定接收到触发指令。进一步地,本发明实施例的表单识别方法还包括对表单填写和表单保存的处理步骤,当浏览器的内核类型为Trident内核时,整个表单识别方法在图4中示出,当浏览器的内核类型为Webkit内核时,整个表单识别方法在图5中示出,从图4和图5中可以看出,对于不同内核的浏览器,具体的表单填写和表单保存的处理步骤相同。具体地,在确定加载的网页为表单网页之后,及判断是否接收到触发指令之前进行表单填写,具体为在判断出网页代码中既包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素之后,当用户点击用户名登录框时,触发Renderer进程对属性为第一预设属性的元素和属性为第二预设属性的元素进行捕获,得到密码元素和用户名元素,并由Renderer进程发送IPC请求至主进程以对主进程的预设数据库进行查询判断与密码元素相对应的密码数据和与用户名元素相对应的用户名数据是否均已保存在预设数据库中,其中,该预设数据库是用来保存表单信息的数据库,通过将表单信息保存在预设数据中,实现了对双核浏览器下表单数据的互通;最后,在判断出密码数据和用户名数据均已保存在预设数据库中时,主进程发送一条IPC请求至Renderer进程,由Renderer进程筛选出最佳匹配的已保存的用户名数据和密码数据,并执行将筛选出的密码数据添加至加载的网页的密码元素中,以及将用户名数据添加至加载的网页的用户名元素中。其中,Renderer进程对用户名数据和密码数据进行筛选和匹配的原则是首先判断当前URL下是否有已保存过的表单,如果当前URL下有已保存的表单,则优先将这个表单的密码数据和用户名数据添加到网页上对应的元素中,实现精准匹配;如果当前URL下没有已保存过的表单,则查找当前URL主域下保存过的表单,并将其主域下所保存的表单的密码数据和用户名数据添加到网页上对应的元素中,实现模糊匹配。举例说明,如果在URL “a. xxx.com”下保存了 A表单,在URL “b. XXX. com”下保存了 B表单,当用户打开“a. xxx. com”时,会将表单A和B的用户名数据和密码数据均做为备选,但是优先选择A表单的用户名数据和密码数据作为最佳匹配;如果在URL “a. xxx. com”下未保存表单,在URL “b. xxx. com”下保存了 B表单,当用户打开“a. xxx. com”时,则会将表单B的用户名数据和密码数据做为筛选出的用户名数据和密码数据。在对表单保存进行处理时,具体为首先,在确定加载的网页为表单网页之后,并且在判断是否接收到触发指令之前,当用户点击用户名登录框时,触发Renderer进程对属性为第一预设属性的元素和属性为第二预设属性的元素进行捕获,得到密码元素和用户名元素,并由Renderer进程发送IPC请求至主进程以对主进程的预设数据库进行查询判断与密码元素相对应的密码数据和与用户名元素相对应的用户名数据是否均已保存在预设数据库中,当判断出用户名数据保存在预设数据库中,但是密码数据未保存在预设数据库中时,一方面主进程发送一条IPC请求至Renderer进程,由Renderer进程筛选出最佳匹配的已保存的用户名数据,并将筛选出的用户名数据添加至加载的网页的用户名元素中,另一方面接收用户输入的密码数据;当判断出用户名数据和密码数据均未保存在预设数据库中时,则直接接收用户输入的用户名数据和密码数据。至此只达到了对表单进行填写的步骤。其次,在接收到触发指令之后,即,在用户触发了登录之后,由Renderer进程发送一个IPC请求至主进程,由主进程触发弹窗提示,以提示用户是否选择保存密码数据和用户名数据,或提示是否保存密码数据;最后,接收用户的选择指令,并在选择指令表示选择保存时,保存密码数据和用户名数据至预设数据库,或保存密码数据至预设数据库。本发明实施例还提供了一种表单识别装置,以下对本发明实施例所提供的表单识别装置进行具体介绍图6是根据本发明实施例的表单装置的示意图,如图6所示,该实施例的表单识别装置包括接收单元10、加载单元20、扫描单元30、第一判断单元40、第二判断单元50和确定单元60。接收单元10用于接收访问指令,具体地,当用户想要对某个网站进行访问时,会输入或链接输入这个网站的网址以进行打开网页,此时,接收单元10可以通过对用户输入的网址或链接输入的网址进行接收实现对用户访问指令的接收;加载单元20用于加载与访问指令相对应的网页,具体地,对与访问指令相对应的网址上的HTML进行加载,得到与访问指令相对应的网页;扫描单元30用于对加载的网页的网页代码进行扫描;第一判断单元40用于判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,第一预设属性对应的元素为密码元素,具体地,主要通过对加载的网页的网页代码进行扫描,检测扫描过程中是否能够扫描到属性为第一预设属性的元素,在本发明实施例中,第一预设属性可以定义为属性type#paSSWOrd”,如果在加载的网页的网页代码中扫描到含属性type= “password”的input元素,则确定扫描到的网页代码中包括属性为第一预设属性的元素;第二判断单元50用于判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,第二预设属性对应的元素为用户名元素,具体地,主要通过检测扫描过程中是否能够扫描到属性为第二预设属性的元素,在本发明实施例中,第二预设属性可以定义为距离密码元素距离最近,并且满足属性type^text”,如果在加载的网页的网页代码中扫描到含属性type= “text”的input元素,则确定扫描到的网页代码中包括属性为第二预设属性的元素;确定单元60用于若判断出扫描到的网页代码中包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素,则确定加载单元20中加载的网页为表单网页,即,在判断出网页代码中既包含密码元素又包含用户名元素,即可确定加载的网页时一个表单网页,也即实现对表单的识别。本发明实施例的表单识别装置通过对用户访问所加载的网页的网页代码进行扫描,实现对网页代码的监测,进而实现对网页代码中各个元素属性的监测,以快速检测出是否包含满足预设属性的元素(即,实现快速检测出密码元素和用户名元素),此种只需通过对网页中的用户名字段和密码字段进行监测的方法,只需对加载的网页的网页代码进行扫描即可实现对加载的网页是否为表`单网页的识别,相对现有技术中需要对提交成功后的表单中的多个字段进行判断的识别方法而言,有效地降低了表单识别的复杂度,解决了现有技术中表单识别率较低的问题,进而达到了提高表单识别率的效果。具体地,当用户通过不同类型的浏览器内核进行访问指令的下发时,对于不同内核的浏览器,在执行对加载的网页的网页代码进行扫描时所对应的扫描单元30的扫描方式不同。其中,在对加载网页的网页代码进行扫描时,首先由扫描单元30中的第一获取子单元产生访问指令的内核类型进行获取;当获取到的内核类型为Trident内核时,则由扫描单元30中的第一扫描子单元注入预设脚本代码至网页代码中以对网页代码进行扫描;当获取到的内核类型为Webkit内核时,则由扫描单元30中的第二扫描子单元对网页代码中的DOM树中的input控件进行扫描。进一步地,本发明实施例的表单识别装置在接收到用于提交表单网页的触发指令后,能够确定表单网页为有效表单,以便后续再次对这个表单网页进行加载时,能够更加快速准确地识别出这个表单。其中,对于是否接收到触发指令的判断方法已在上述本发明实施例所提供的表单识别方法中做具体介绍,此处不再赘述。此外,本发明实施例的表单识别装置还可以对识别出的表单进行保存和填写,表单识别装置进行表单保存和填写的具体方法与上述本发明实施例所提供的表单识别方法中进行表单保存和填写的步骤相同,此处同样不再赘述。从以上的描述中,可以看出,本发明通过快速检测网页代码中是否包括密码元素和用户名元素,有效地降低了表单识别的复杂度,达到了提高表单识别率的效果;同时,通过对表单数据进行保存,实现了双核浏览器下的表单数据的互通,提高了表单的适用性。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种表单识别方法,其特征在于,包括 接收访问指令; 加载与所述访问指令相对应的网页; 对加载的网页的网页代码进行扫描; 判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,所述第一预设属性对应的元素为密码元素; 判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,所述第二预设属性对应的元素为用户名元素;以及 若判断出扫描到的网页代码中包括属性为所述第一预设属性的元素,并且还包括属性为所述第二预设属性的元素,则确定加载的网页为表单网页。
2.根据权利要求1所述的表单识别方法,其特征在于,对加载的网页的网页代码进行扫描包括 获取产生所述访问指令的内核类型; 若获取到的内核类型为Trident内核,则注入预设脚本代码至所述网页代码中以对所述网页代码进行扫描;以及 若获取到的内核类型为Webkit内核,则对所述网页代码中的DOM树中的input控件进行扫描。
3.根据权利要求1所述的表单识别方法,其特征在于,在确定加载的网页为表单网页之后,所述表单识别方法还包括 判断是否接收到触发指令,其中,所述触发指令用于提交所述表单网页;以及 若判断出接收到所述触发指令,则确定所述表单网页为有效表单。
4.根据权利要求3所述的表单识别方法,其特征在于,在产生所述访问指令的内核类型为Trident内核时,判断是否接收到触发指令包括 获取所述网页代码中属性为第三预设属性的元素,得到第一元素,其中,所述第三预设属性对应的元素为提交事件; 复制所述第一元素,得到第二元素; 以所述第二元素覆盖所述第一元素;以及 判断所述第二元素是否被执行,若判断出所述第二元素被执行,则确定接收到所述触发指令。
5.根据权利要求3所述的表单识别方法,其特征在于,在产生所述访问指令的内核类型为Webkit内核时,判断是否接收到触发指令包括 获取所述网页代码中属性为第三预设属性的元素,得到第一元素,其中,所述第三预设属性对应的元素为提交事件;以及 判断所述第一元素是否被执行,若判断出所述第一元素被执行,则确定接收到所述触发指令。
6.根据权利要求3所述的表单识别方法,其特征在于,在确定加载的网页为表单网页之后,并且在判断是否接收到触发指令之前,所述表单识别方法还包括 获取属性为所述第一预设属性的元素,得到密码元素; 获取属性为所述第二预设属性的元素,得到用户名元素;查询预设数据库以判断密码数据和用户名数据是否均已保存在所述预设数据库中,其中,所述密码数据为所述密码元素对应的数据,所述用户名数据为所述用户名元素对应的数据;以及 若判断出所述密码数据和所述用户名数据均已保存在所述预设数据库中,则添加所述密码数据至加载的网页的密码元素中,以及添加所述用户名数据至加载的网页的用户名元素中。
7.根据权利要求3所述的表单识别方法,其特征在于,在确定加载的网页为表单网页之后,并且在判断是否接收到触发指令之前,所述表单识别方法还包括 获取属性为所述第一预设属性的元素,得到密码元素; 获取属性为所述第二预设属性的元素,得到用户名元素; 查询预设数据库以判断密码数据和用户名数据是否均已保存在所述预设数据库中,其中,所述密码数据为所述密码元素对应的数据,所述用户名数据为所述用户名元素对应的数据; 若判断出所述用户名数据已保存在所述预设数据库中,并且所述密码数据未保存在所述预设数据库中,则添加所述用户名数据至加载的网页的用户名元素中,并且接收用户输入的密码数据;以及 若判断出所述用户名数据和所述密码数据均未保存在所述预设数据库中,则接收用户输入的密码数据和用户名数据。
8.根据权利要求7所述的表单识别方法,其特征在于,在判断出接收到所述触发指令之后,所述表单识别方法还包括 显示预设弹窗,其中,所述预设弹窗上设置有提示内容,所述提示内容用于提示所述用户选择是否保存所述密码数据和所述用户名数据,或提示所述用户选择是否保存所述密码数据; 接收来自所述用户的选择指令;以及 在所述选择指令表示选择保存所述密码数据和所述用户名数据时,保存所述密码数据和所述用户名数据至所述预设数据库,或保存所述密码数据至所述预设数据库。
9.一种表单识别装置,其特征在于,包括 接收单元,用于接收访问指令; 加载单元,用于加载与所述访问指令相对应的网页; 扫描单元,用于对加载的网页的网页代码进行扫描; 第一判断单元,用于判断扫描到的网页代码中是否包括属性为第一预设属性的元素,其中,所述第一预设属性对应的元素为密码元素; 第二判断单元,用于判断扫描到的网页代码中是否包括属性为第二预设属性的元素,其中,所述第二预设属性对应的元素为用户名元素;以及 确定单元,用于若判断出扫描到的网页代码中包括属性为所述第一预设属性的元素,并且还包括属性为所述第二预设属性的元素,则确定加载的网页为表单网页。
10.根据权利要求9所述的表单识别装置,其特征在于,所述扫描单元包括 第一获取子单元,用于获取产生所述访问指令的内核类型; 第一扫描子单元,用于在获取到的内核类型为Trident内核时,注入预设脚本代码至所述网页代码中以对所述网页代码进行扫描;以及 第二扫描子单元, 用于在获取到的内核类型为Webkit内核时,对所述网页代码中的DOM树中的input控件进行扫描。
全文摘要
本发明公开了一种表单识别方法和装置。其中,表单识别方法包括接收访问指令;加载与访问指令相对应的网页;对加载的网页的网页代码进行扫描;判断扫描到的网页代码中是否包括属性为第一预设属性的元素;判断扫描到的网页代码中是否包括属性为第二预设属性的元素;若判断出扫描到的网页代码中包括属性为第一预设属性的元素,并且还包括属性为第二预设属性的元素,则确定加载的网页为表单网页。通过本发明,解决了现有技术中表单识别率较低的问题,进而达到了提高表单识别率的效果。
文档编号G06F17/30GK103034711SQ20121052991
公开日2013年4月10日 申请日期2012年12月10日 优先权日2012年12月10日
发明者蔡磊, 张骏, 万振, 傅盛, 徐鸣, 王昆 申请人:北京金山安全软件有限公司, 北京金山网络科技有限公司, 贝壳网际(北京)安全技术有限公司, 可牛网络技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1