CN111368241B - 基于XPath的网页元素识别方法 - Google Patents

基于XPath的网页元素识别方法 Download PDF

Info

Publication number
CN111368241B
CN111368241B CN202010145583.2A CN202010145583A CN111368241B CN 111368241 B CN111368241 B CN 111368241B CN 202010145583 A CN202010145583 A CN 202010145583A CN 111368241 B CN111368241 B CN 111368241B
Authority
CN
China
Prior art keywords
xpath
attribute
image
gui control
parent window
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
CN202010145583.2A
Other languages
English (en)
Other versions
CN111368241A (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.)
Suzhou Digital Power Education Technology Co ltd
Original Assignee
Suzhou Digital Power Education 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 Suzhou Digital Power Education Technology Co ltd filed Critical Suzhou Digital Power Education Technology Co ltd
Priority to CN202010145583.2A priority Critical patent/CN111368241B/zh
Publication of CN111368241A publication Critical patent/CN111368241A/zh
Application granted granted Critical
Publication of CN111368241B publication Critical patent/CN111368241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本发明公开了一种基于XPath的网页元素识别方法,网页元素识别方法分为三个部分,第一部分最底层元素属性的XPath集合T1,第二部分寻找能找到目标元素的最具有唯一性的层级,并生成这一层级属性的XPath集合T2,第三部分就是将T1和T2里面的XPath结合起来。本发明提供了全新的XPath生成方法,这个方法可以缩小目标元素的范围,增加找到元素的成功率和准确率。同时,也增加了网页测试,流程自动化,数据抓取等作业中的鲁棒性。

Description

基于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的总数,
Figure BDA0002400589190000021
其中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集合;
S108在生成的所有XPath中,删除掉那些不能找到目标元素的XPath,剩下的即为较小的XPath有效集合范围。
进一步地,步骤S101中,属性包括HTML中的id、name、class。
进一步地,步骤S101中,属性的数量≥2个。
进一步地,步骤S105中,该层级出现次数为1。
进一步地,步骤S108中,当XPath有效集合范围内元素数量≥1个时,使用机器视觉识别系统进行校验;当XPath有效集合范围内元素数量为0时,使用机器视觉识别系统作为备用措施,保证流程的继续进行。
进一步地,所述机器视觉识别系统包括查找单元、图像截取单元、识别单元和控件录制单元,GUI控件的属性信息被预先录制并具有唯一标识;GUI控件为非标准控件,且GUI控件的父窗口为可识别的标准控件;
控件录制单元,适于预先录制GUI控件的属性信息,属性信息包括:GUI控件的父窗口的标题和/或类名,GUI控件相对于父窗口的位置坐标以及GUI控件对应的第一图像;控件录制单元在预先录制GUI控件的属性信息时,具体适于:将鼠标移动到所述GUI控件上,指定图像半径后,捕获鼠标相对于父窗口的坐标作为所述GUI控件相对于父窗口的位置坐标,截取以鼠标位置为中心,图像半径范围内的图像作为所述第一图像;
查找单元,适于根据属性信息中的父窗口标题和/或父窗口类名查找GUI控件所在的父窗口;
图像截取单元,适于根据GUI控件相对于父窗口的位置坐标,截取预设尺寸和位置的第二图像;
识别单元,适于计算所述第二图像与第一图像之间的相似度并根据所述相似度对所述GUI控件进行识别。
本发明的有益效果是:
本发明提供了全新的XPath生成方法,这个方法可以缩小目标元素的范围,增加找到元素的成功率和准确率。同时,也增加了网页测试,流程自动化,数据抓取等作业中的鲁棒性。
当然,实施本发明的任一产品并不一定需要同时达到以上的所有优点。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程框图;
图2为本发明中机器视觉识别系统的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1-2所示,本实施例为一种基于XPath的网页元素识别方法,包括如下步骤:
(1)生成最底层元素属性的XPath;
S101从网页结构最底层提取编程人员选择元素的属性;属性包括HTML中的id、name、class。属性的数量≥2个;
S102根据提取出的属性族,生成XPath,根据公式计算生成XPath的总数,
Figure BDA0002400589190000041
其中C表示组合,n表示总元素数,m表示选择元素数;
S103将此处生成的XPath集合称为T1,共有K条不同的XPath;
(2)寻找能找到目标元素的最具有唯一性的层级,并生成这一层级属性的XPath集合T2;
S104寻找从最底层到第一层出现过的所有属性,并计算每个属性出现的次数;
S105找到出现次数最少属性所在的层级,该层级出现次数最好为1;
S106提取出该层级的所有属性,根据排列组合的方式生成XPath,将此处生成的XPath集合称为T2,共有J条不同的XPath;
(3)将T1和T2里面的XPath结合起来;
S107将T1和T2里面的XPath结合起来,结合之后就有K×J条新的XPath集合;
S108在生成的所有XPath中,删除掉那些不能找到目标元素的XPath,剩下的即为较小的XPath有效集合范围。
本实施例中,当XPath有效集合范围内元素数量≥1个时,使用机器视觉识别系统进行校验;当XPath有效集合范围内元素数量为0时,使用机器视觉识别系统作为备用措施,保证流程的继续进行。
本实施例中,机器视觉识别系统包括查找单元、图像截取单元、识别单元和控件录制单元,GUI控件的属性信息被预先录制并具有唯一标识;GUI控件为非标准控件,且GUI控件的父窗口为可识别的标准控件;
控件录制单元,适于预先录制GUI控件的属性信息,属性信息包括:GUI控件的父窗口的标题和/或类名,GUI控件相对于父窗口的位置坐标以及GUI控件对应的第一图像;控件录制单元在预先录制GUI控件的属性信息时,具体适于:将鼠标移动到GUI控件上,指定图像半径后,捕获鼠标相对于父窗口的坐标作为GUI控件相对于父窗口的位置坐标,截取以鼠标位置为中心,图像半径范围内的图像作为第一图像;
查找单元,适于根据属性信息中的父窗口标题和/或父窗口类名查找GUI控件所在的父窗口;
图像截取单元,适于根据GUI控件相对于父窗口的位置坐标,截取预设尺寸和位置的第二图像;
识别单元,适于计算所述第二图像与第一图像之间的相似度并根据所述相似度对所述GUI控件进行识别。
本实施例的一个具体应用为:本实施例提供了全新的XPath生成方法,这个方法可以缩小目标元素的范围,增加找到元素的成功率和准确率。同时,也增加了网页测试,流程自动化,数据抓取等作业中的鲁棒性。
以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

Claims (4)

1.基于XPath的网页元素识别方法,其特征在于,包括如下步骤:
(1)生成最底层元素属性的XPath;
S101从网页结构最底层提取编程人员选择元素的属性;
S102根据提取出的属性族,生成XPath,根据公式计算生成XPath的总数,
Figure QLYQS_1
其中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集合;
S108在生成的所有XPath中,删除掉那些不能找到目标元素的XPath,剩下的即为XPath有效集合范围;当XPath有效集合范围内元素数量≥1个时,使用机器视觉识别系统进行校验;当XPath有效集合范围内元素数量为0时,使用机器视觉识别系统作为备用措施,保证流程的继续进行;
所述机器视觉识别系统包括查找单元、图像截取单元、识别单元和控件录制单元,GUI控件的属性信息被预先录制并具有唯一标识;GUI控件为非标准控件,且GUI控件的父窗口为可识别的标准控件;
控件录制单元,适于预先录制GUI控件的属性信息,属性信息包括:GUI控件的父窗口的标题和/或类名,GUI控件相对于父窗口的位置坐标以及GUI控件对应的第一图像;控件录制单元在预先录制GUI控件的属性信息时,具体适于:将鼠标移动到所述GUI控件上,指定图像半径后,捕获鼠标相对于父窗口的坐标作为所述GUI控件相对于父窗口的位置坐标,截取以鼠标位置为中心,图像半径范围内的图像作为所述第一图像;
查找单元,适于根据属性信息中的父窗口标题和/或父窗口类名查找GUI控件所在的父窗口;
图像截取单元,适于根据GUI控件相对于父窗口的位置坐标,截取预设尺寸和位置的第二图像;
识别单元,适于计算所述第二图像与第一图像之间的相似度并根据所述相似度对所述GUI控件进行识别。
2.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S101中,属性包括HTML中的id、name、class。
3.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S101中,属性的数量≥2个。
4.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S105中,该层级出现次数为1。
CN202010145583.2A 2020-03-05 2020-03-05 基于XPath的网页元素识别方法 Active CN111368241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010145583.2A CN111368241B (zh) 2020-03-05 2020-03-05 基于XPath的网页元素识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010145583.2A CN111368241B (zh) 2020-03-05 2020-03-05 基于XPath的网页元素识别方法

Publications (2)

Publication Number Publication Date
CN111368241A CN111368241A (zh) 2020-07-03
CN111368241B true CN111368241B (zh) 2023-05-30

Family

ID=71208574

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010145583.2A Active CN111368241B (zh) 2020-03-05 2020-03-05 基于XPath的网页元素识别方法

Country Status (1)

Country Link
CN (1) CN111368241B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112182468A (zh) * 2020-10-14 2021-01-05 北京新纽科技有限公司 一种兼容客户端界面元素与网页页面元素的定位和解析方法
CN113177168B (zh) * 2021-04-29 2023-12-01 上海云扩信息科技有限公司 一种基于Web元素属性特征的定位方法
CN115062206B (zh) * 2022-05-30 2023-04-07 上海弘玑信息技术有限公司 一种网页元素的搜索方法和电子设备
CN115033822B (zh) * 2022-06-14 2024-05-17 壹沓科技(上海)有限公司 一种元素定位方法、装置、设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391797A (zh) * 2014-12-09 2015-03-04 北京奇虎科技有限公司 Gui控件的识别方法和装置
CN104657377A (zh) * 2013-11-20 2015-05-27 阿里巴巴集团控股有限公司 一种多路网页控件定位方法及装置
US20170357624A1 (en) * 2016-06-10 2017-12-14 International Business Machines Corporation Generating a Document Object Model (DOM) Differential

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104657377A (zh) * 2013-11-20 2015-05-27 阿里巴巴集团控股有限公司 一种多路网页控件定位方法及装置
CN104391797A (zh) * 2014-12-09 2015-03-04 北京奇虎科技有限公司 Gui控件的识别方法和装置
US20170357624A1 (en) * 2016-06-10 2017-12-14 International Business Machines Corporation Generating a Document Object Model (DOM) Differential

Also Published As

Publication number Publication date
CN111368241A (zh) 2020-07-03

Similar Documents

Publication Publication Date Title
CN111368241B (zh) 基于XPath的网页元素识别方法
CN103198293A (zh) 用于指纹识别视频的系统和方法
CN103942212A (zh) 一种用户界面的文字检测方法及装置
CN102664925B (zh) 一种展现搜索结果的方法及装置
CN104657377A (zh) 一种多路网页控件定位方法及装置
CN110674396A (zh) 文本信息处理方法、装置、电子设备及可读存储介质
KR102224936B1 (ko) 식별을 위해 확장된 영역에 대한 특징을 수집하는 학습 장치 및 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN109344355A (zh) 针对网页变化的自动回归检测与块匹配自适应方法和装置
CN110309049A (zh) 网页内容监听方法、装置、计算机设备和存储介质
CN107294918A (zh) 一种钓鱼网页检测方法及装置
CN104317867A (zh) 对搜索引擎返回的网页图片进行实体聚类的系统
CN108121648B (zh) 一种界面错误监控方法
WO2022237157A1 (zh) 一种视频数据集标注方法及装置
CN109547294A (zh) 一种基于固件分析的联网设备型号探测方法、装置
CN108280425A (zh) 一种基于屏下式光学指纹传感器的快速测光实现方法
CN105701124A (zh) 一种提供提示信息的方法及装置
CN109583266A (zh) 一种目标检测方法、装置、计算机设备及存储介质
CN111522570B (zh) 目标库更新方法、装置、电子设备及机器可读存储介质
CN115186240A (zh) 基于关联性信息的社交网络用户对齐方法、装置、介质
CN115481025A (zh) 自动化测试的脚本录制方法、装置、计算机设备及介质
CN112579456B (zh) 一种Web自动化测试方法及装置
CN114124564A (zh) 一种仿冒网站检测方法、装置、电子设备及存储介质
CN113822013A (zh) 用于文本数据的标注方法、装置、计算机设备及存储介质
CN113568500A (zh) 一种基于ar技术的图书馆应用系统及方法
CN111783891A (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