[发明专利]基于XPath的网页元素识别方法有效
申请号: | 202010145583.2 | 申请日: | 2020-03-05 |
公开(公告)号: | CN111368241B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 龚燕玲;潘宇;汪玉林 | 申请(专利权)人: | 苏州数字力量教育科技有限公司 |
主分类号: | G06F16/958 | 分类号: | G06F16/958;G06F16/951 |
代理公司: | 北京和联顺知识产权代理有限公司 11621 | 代理人: | 吴昌旭 |
地址: | 215000 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 xpath 网页 元素 识别 方法 | ||
本发明公开了一种基于XPath的网页元素识别方法,网页元素识别方法分为三个部分,第一部分最底层元素属性的XPath集合T1,第二部分寻找能找到目标元素的最具有唯一性的层级,并生成这一层级属性的XPath集合T2,第三部分就是将T1和T2里面的XPath结合起来。本发明提供了全新的XPath生成方法,这个方法可以缩小目标元素的范围,增加找到元素的成功率和准确率。同时,也增加了网页测试,流程自动化,数据抓取等作业中的鲁棒性。
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于XPath的网页元素识别方法。
背景技术
网页元素定位在爬虫抓取网页数据、开发自动化流程、编写网页测试脚本等方面都有重要运用。但是由于网页元素的准确率不高,这些技术的发展受到限制,容易造成数据抓取失败或者自动化流程中断等现象。目前寻找网页元素的方法有以下几种:
1)机器视觉技术:主要用计算机来模拟人的视觉功能,从客观事物的图像中提取信息,进行处理并加以理解,最终用于实际检测、测量和控制。但是如果网页上的图像发生改变,就很可能导致元素识别失败。
2)Link定位:在HTML中寻找特定的文本链接,但是有时候目标元素可能没有链接。
3)class属性定位:根据HTML的class属性去寻找目标元素。但是这种方法找到的元素是一个大类,不唯一,不够精确。
4)name属性定位:根据HTML的name属性去寻找目标元素。但是name属性可以不唯一,也就是说,有时候找到的多个元素name相同,但并不是我们想要的目标元素。
5)属性定位:根据HTML的ID属性去寻找目标元素,因为HTML中的ID必须是唯一的。但它不能解决元素没有ID或者动态ID的情况
实际应用中,网页元素定位大多采用HTML中的id、name以及class等属性来定位元素,但由于动态id、name属性不唯一等原因,往往不能准确地找到目标元素。
发明内容
本发明的目的在于克服传统技术中存在的上述问题,提供一种基于XPath的网页元素识别方法。
为实现上述技术目的,达到上述技术效果,本发明是通过以下技术方案实现:
一种基于XPath的网页元素识别方法,包括如下步骤:
(1)生成最底层元素属性的XPath;
S101从网页结构最底层提取编程人员选择元素的属性;
S102根据提取出的属性族,生成XPath,根据公式计算生成XPath的总数,
其中C表示组合,n表示总元素数,m表示选择元素数;
S103将此处生成的XPath集合称为T1,共有K条不同的XPath;
(2)寻找能找到目标元素的最具有唯一性的层级,并生成这一层级属性的XPath集合T2;
S104寻找从最底层到第一层出现过的所有属性,并计算每个属性出现的次数;
S105找到出现次数最少属性所在的层级;
S106提取出该层级的所有属性,根据排列组合的方式生成XPath,将此处生成的XPath集合称为T2,共有J条不同的XPath;
(3)将T1和T2里面的XPath结合起来;
S107将T1和T2里面的XPath结合起来,结合之后就有K×J条新的XPath集合;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州数字力量教育科技有限公司,未经苏州数字力量教育科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010145583.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于云计算的互动式教学辅助系统
- 下一篇:一种气冷陶瓷隔热电弧加热器