[发明专利]一种网页表单自动填写方法及装置有效
申请号: | 201810414961.5 | 申请日: | 2018-05-03 |
公开(公告)号: | CN108664461B | 公开(公告)日: | 2023-08-22 |
发明(设计)人: | 赵志强;于剑池;张中辉;李琨 | 申请(专利权)人: | 鼎富智能科技有限公司 |
主分类号: | G06F40/174 | 分类号: | G06F40/174;G06F40/18;G06F16/958 |
代理公司: | 北京弘权知识产权代理有限公司 11363 | 代理人: | 逯长明;许伟群 |
地址: | 230000 安徽省合肥市*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网页 表单 自动 填写 方法 装置 | ||
1.一种网页表单自动填写方法,其特征在于,包括:
解析网页的DOM树,以获取表单元素的标识符;
根据表单元素的标识符设置每个表单元素与每个业务数据的一一对应关系;
通过业务层接口建立业务数据与表单元素的映射;
获取在屏幕内显示的网页区域;
从DOM树的根元素节点开始,逐层遍历网页的DOM树,以获取屏幕内的表单元素;
获取从根元素到表单元素之间的每一层网页元素相对于父级元素的位置偏移量;
将各层网页元素相对于父级元素的位置偏移量求和,以获取表单元素相对屏幕原点的绝对偏移量;
根据所述绝对偏移量和表单元素的尺寸信息,获取表单元素在屏幕中的位置,其中,所述表单元素在屏幕中的位置包括多个顶点围成的矩形区域,所述尺寸信息包括所述矩形区域的长度和宽度,所述多个顶点至少包括所述矩形区域的左上角、右上角、左下角和右下角;
根据表单元素与业务数据的映射关系,以及表单元素在屏幕中的位置,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素;
其中,所述业务层接口一端连接不同来源的业务数据,另一端与连接自动填写表单的设备建立数据连接,所述业务层接口用于对表单元素赋值时,将业务数据的数值提供给对应的表单元素。
2.根据权利要求1所述的方法,其特征在于,所述根据表单元素与业务数据的映射关系,以及表单元素在屏幕中的位置,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素的步骤,包括:
当表单元素为第一类表单元素时,模拟鼠标移动事件,将鼠标焦点移动至与业务数据对应的所述第一类表单元素所在位置;
模拟鼠标点击事件,选中与业务数据对应的所述第一类表单元素;
其中,所述第一类表单元素至少包括网页表单的单选框、复选框、列表框和提交按钮。
3.根据权利要求1所述的方法,其特征在于,所述根据表单元素与业务数据的映射关系,以及表单元素在屏幕中的位置,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素的步骤,包括:
当表单元素为第二类表单元素时,模拟鼠标移动事件,将鼠标焦点移动至所述第二类表单元素所在位置;
在所述第二类表单元素的所在位置模拟鼠标点击事件,使所述第二类表单元进入待输入状态;
根据所述第二类表单元素与业务数据的映射关系,模拟键盘输入事件,以在所述第二类表单元素中输入或删除业务数据;
其中,所述第二类表单元素至少包括网页表单的输入框。
4.根据权利要求1所述的方法,其特征在于,所述获取从根元素到表单元素之间的每一层网页元素相对于父级元素的位置偏移量的步骤,包括:
以屏幕左上角为坐标原点,获取根元素的左上角定位点相对于所述坐标原点的偏移坐标值,以所述偏移坐标值表示所述位置偏移量;
从根元素的下一层网页元素开始,以每一层网页元素的父级元素左上角定位点为坐标原点,逐层获取网页元素左上角定位点相对于父级元素的偏移坐标值,以所述偏移坐标值表示所述位置偏移量。
5.根据权利要求4所述的方法,其特征在于,所述将各层网页元素相对于父级元素的位置偏移量求和,以获取表单元素相对屏幕原点的绝对偏移量,包括:
将各层网页元素的所述偏移坐标值进行数值求和,以生成表单元素左上角定位点相对于屏幕坐标原点的绝对坐标值,以所述绝对坐标值表示所述绝对偏移量。
6.根据权利要求1所述的方法,其特征在于,还包括:
监测网页状态是否发生改变;
如果发生改变,重新解析网页的DOM树,以获取网页状态改变后表单元素在屏幕中的位置;
其中,网页状态至少包括浏览器窗口大小、浏览器窗口在屏幕中的位置,浏览器侧边滚动条的位置。
7.根据权利要求1所述的方法,其特征在于,还包括:
设置模拟鼠标事件和键盘事件的触发延时T;
所述触发延时用于在完成一次模拟鼠标事件或键盘事件后,等待一个延时时间T,再触发下一次模拟鼠标事件或键盘事件。
8.一种网页表单自动填写装置,其特征在于,包括:
数据关联模块,用于解析网页的DOM树,以获取表单元素的标识符;根据表单元素的标识符设置每个表单元素与每个业务数据的一一对应关系;通过业务层接口建立业务数据与表单元素的映射;
网页解析模块,用于获取在屏幕内显示的网页区域;从DOM树的根元素节点开始,逐层遍历网页的DOM树,以获取屏幕内的表单元素;获取从根元素到表单元素之间的每一层网页元素相对于父级元素的位置偏移量;将各层网页元素相对于父级元素的位置偏移量求和,以获取表单元素相对屏幕原点的绝对偏移量;根据所述绝对偏移量和表单元素的尺寸信息,获取表单元素在屏幕中的位置,其中,所述表单元素在屏幕中的位置包括多个顶点围成的矩形区域,所述尺寸信息包括所述矩形区域的长度和宽度,所述多个顶点至少包括所述矩形区域的左上角、右上角、左下角和右下角;
表单填写模块,用于根据表单元素与业务数据的映射关系,以及表单元素在屏幕中的位置,模拟鼠标事件和键盘事件,将业务数据赋值给对应的表单元素;
其中,所述业务层接口一端连接不同来源的业务数据,另一端与连接自动填写表单的设备建立数据连接,所述业务层接口用于对表单元素赋值时,将业务数据的数值提供给对应的表单元素。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于鼎富智能科技有限公司,未经鼎富智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810414961.5/1.html,转载请声明来源钻瓜专利网。