一种网页表单自动填写方法及装置制造方法及图纸

技术编号:19177190 阅读:159 留言:0更新日期:2018-10-17 00:20
本申请实施例提供了一种网页表单自动填写方法及装置。首先,建立表单元素与业务数据的映射;然后,解析网页的DOM树,以获取表单元素在屏幕中的位置;最后,根据表单元素与业务数据的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素。本申请提供的技术方案,通过拟人化录入表单的方式,在无需掌握和修改网页源代码的情况下实现网页表单的自动填写,避免由于修改网页源代码而引入新的漏洞,因此不会影响网页运行的稳定性。此外,本申请提供的技术方案,不依赖网页内嵌的JavaScript脚本引擎运行,不会增加网页浏览器的负担,运行效率不会受到浏览器性能的限制,因此,与现有技术相比,自动填写表单的效率更高。

An automatic form filling method and device for webpage forms

The application embodiment provides an automatic filling method and device for a web page form. Firstly, the mapping between form elements and business data is established; secondly, the DOM tree of Web pages is parsed to get the position of form elements on the screen; finally, according to the mapping relationship between form elements and business data, the mouse events and keyboard events are simulated to assign business data to the corresponding form elements. This application provides a technical solution, through the personification of the input form, without the need to master and modify the source code of the web page form to achieve automatic filling, to avoid modifying the source code of the web page and introduce new vulnerabilities, so it will not affect the stability of the web page. In addition, the technical proposal provided in this application does not rely on the JavaScript script engine embedded in the web pages to run, does not increase the burden of web browsers, operating efficiency will not be limited by browser performance, therefore, compared with the existing technology, automatic filling out forms is more efficient.

【技术实现步骤摘要】
一种网页表单自动填写方法及装置
本申请涉及计算机
,尤其涉及一种网页表单自动填写方法及装置。
技术介绍
网页表单是互联网网页中的一个重要元素,用于收集用户的输入。在大量的电子信息录入的应用场景中(如电子报税、电子户籍登记、电子表格录入等),网页表单记录用户输入的信息,并在用户请求提交表单时,将用户输入的信息提交给服务器,实现表单数据的交互和存储。在需要大量填写表单的应用场景中,为了减少人工填写表单的工作量以提高表单填写速度,现有技术提供了一些基于互联网网页DOM(DocumentObjectModel:文档对象化模型)树解析的自动化表单填写方法,这种方法基于现有技术的JavaScript脚本填写表单的方式,在掌握网页原有的HTML和JavaScript脚本代码的基础上,根据掌握的代码开发一套自动填写表单的JavaScript脚本代码,以实现对网页表单的自动填写。但是,现有技术中由于是在网页的源代码中加入了新的用于自动填写表单的JavaScript脚本代码,实际上通过改变网页源代码的方式给网页加入了新的功能,这种改变容易在网页源代码中引入新的漏洞,从而影响网页运行的稳定性。此外,由于JavaScript脚本代码是基于浏览器内嵌的JavaScript脚本引擎运行,其运行效率也受到限制。
技术实现思路
本申请实施例提供了一种网页表单自动填写方法及装置,以解决现有技术中的网页表单自动填写方法影响网页稳定性且运行效率受限的问题。第一方面,根据本申请实施例,提供了一种网页表单自动填写方法,包括:建立表单元素与业务数据的映射;解析网页的DOM树,以获取表单元素在屏幕中的位置;根据表单元素与业务数据的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素。第二方面,根据本申请实施例,提供了一种网页表单自动填写装置,包括:数据关联模块,用于建立表单元素与业务数据的映射;网页解析模块,用于解析网页的DOM树,以获取表单元素在屏幕中的位置;表单填写模块,用于根据表单元素与业务数据的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素。由以上技术方案可知,本申请实施例提供了一种网页表单自动填写方法及装置。首先,建立表单元素与业务数据的映射;然后,解析网页的DOM树,以获取表单元素在屏幕中的位置;最后,根据表单元素与业务数据的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素。本申请提供的技术方案,通过拟人化录入表单的方式,在无需掌握和修改网页源代码的情况下实现网页表单的自动填写,避免由于修改网页源代码而引入新的漏洞,因此不会影响网页运行的稳定性。此外,本申请提供的技术方案,不依赖网页内嵌的JavaScript脚本引擎运行,不会增加网页浏览器的负担,运行效率不会受到浏览器性能的限制,因此,与现有技术相比,自动填写表单的效率更高。附图说明为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种网页表单自动填写方法的流程图;图2是DOM树的典型结构的示意图;图3是本申请实施例提供的表单元素在屏幕中位置的一种表达方式的示意图;图4是本申请实施例提供的表单元素在屏幕中位置的另一种表达方式的示意图;图5是本申请实施例提供的一种网页表单自动填写方法步骤S110的流程图;图6是本申请实施例提供的一种网页表单自动填写方法步骤S120的流程图;图7是本申请实施例提供的一种网页表单自动填写方法步骤S123的流程图;图8是本申请实施例示例性示出的网页元素在显示屏中位置的示意图;图9是本申请实施例提供的另一种网页表单自动填写方法步骤S123的流程图;图10是本申请实施例示例性示出的网页元素在显示屏中位置的示意图;图11是本申请实施例提供的一种网页表单自动填写方法步骤S130的流程图;图12是本申请实施例示例性示出的步骤S131的操作示意图;图13是本申请实施例提供的一种网页表单自动填写方法步骤S130的流程图;图14是申请实施例提供的一种网页表单自动填写装置的示意图。具体实施方式为了使本
的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。本申请实施例提供了一种网页表单自动填写方法。图1是本申请实施例提供的一种网页表单自动填写方法的流程图。该方法可以应用于PC(个人电脑)、平板电脑、手机和服务器等具备网页功能的电子设备中。参见图1所示,该方法可以包括以下步骤:步骤S110,建立表单元素与业务数据的映射。网页表单是互联网网页中的一个重要元素,用于收集用户的输入。在大量的电子信息录入的应用场景中(如电子报税、电子户籍登记、电子表格录入等),网页表单记录用户输入的信息,并在用户请求提交表单时,将用户输入的信息提交给服务器,实现表单数据的交互和存储。网页表单中包含多种表单元素,例如:<form>元素,用于定义网页中的一个表单;<input>元素,用于定义表单输入的不同类型,例如输入框<inputtype="text">、单选框<inputtype="radio">、提交按钮<inputtype="submit">等;以及,在HTML5中新加入的e-mail地址输入框<inputtype="email">、数值输入框<inputtype="number">等。在本领域技术人员开发包含表单的网页时,会编写用于输入每一项业务数据的表单元素。示例地,下面一个提供给纳税人填写纳税人名称的包含<input>元素的表单:其中,type="text"表示该表单是一个常规文本的输入框,name="Taxpayer"是本领域技术人员对该表单元素中输入内容的命名,表单元素中输入的内容要想被正确提交,必须要设置该表单元素的name属性。本申请中,name属性可以与数据库中的字段名称相同或对应设置,从而,实现提交表单后,根据name属性与数据库字段名称的对应关系将业务数据存储有序在数据库中。通常,网页表单中每个表单元素的name属性都不同,以避免将不同的业务数据以相同的name属性提交,造成数据提交错误。基于这一特点,name属性可以作为表单元素的标识符,通过该标识符可建立起每个表单元素与每个业务数据的一一对应关系,从而建立起表单元素与业务数据的映射关系。步骤S120,解析网页的DOM树,以获取表单元素在屏幕中的位置。DOM(DocumentObjectModel),是文档对象化模型的简称。DOM树是指通过DOM将HTML页面进行解析,并生成的HTML树状结构和对应的访问方法。图2示例性地示出了DOM树的典型结本文档来自技高网
...

【技术保护点】
1.一种网页表单自动填写方法,其特征在于,包括:建立表单元素与业务数据的映射;解析网页的DOM树,以获取表单元素在屏幕中的位置;根据表单元素与业务数据的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素。

【技术特征摘要】
1.一种网页表单自动填写方法,其特征在于,包括:建立表单元素与业务数据的映射;解析网页的DOM树,以获取表单元素在屏幕中的位置;根据表单元素与业务数据的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素。2.根据权利要求1所述的方法,其特征在于,所述建立业务数据与表单元素的映射的步骤,包括:解析网页的DOM树,以获取表单元素的标识符;根据表单元素的标识符设置每个表单元素与每个业务数据的一一对应关系;通过业务层接口建立业务数据与表单元素的映射;其中,所述业务层接口用于对表单元素赋值时,将业务数据的数值提供给对应的表单元素。3.根据权利要求1所述的方法,其特征在于,所述解析网页的DOM树,以获取表单元素在屏幕中的位置的步骤,包括:获取在屏幕内显示的网页区域;从DOM树的根元素节点开始,逐层遍历网页的DOM树,以获取屏幕内的表单元素;获取从根元素到表单元素之间的每一层网页元素相对于父级元素的位置偏移量;将各层网页元素相对于父级元素的位置偏移量求和,以获取表单元素相对屏幕原点的绝对偏移量;根据所述绝对偏移量和表单元素的尺寸信息,获取表单元素在屏幕中的位置。4.根据权利要求1所述的方法,其特征在于,所述根据业务数据与表单元素的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素的步骤,包括:当表单元素为第一类表单元素时,模拟鼠标移动事件,将鼠标焦点移动至与业务数据对应的所述第一类表单元素所在位置;模拟鼠标点击事件,选中与业务数据对应的所述第一类表单元素;其中,所述第一类表单元素至少包括网页表单的单选框、复选框、列表框和提交按钮。5.根据权利要求1所述的方法,其特征在于,所述根据业务数据与表单元素的映射关系,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素的步骤,包括:当表单元素为第二类表单元素时,模拟鼠标移动事件,将鼠标焦点移动至所述第二类表单元素所在位置;在所述第二类表单元...

【专利技术属性】
技术研发人员:赵志强于剑池张中辉李琨
申请(专利权)人:北京神州泰岳软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1