CN111368241A - 基于XPath的网页元素识别方法 - Google Patents
基于XPath的网页元素识别方法 Download PDFInfo
- Publication number
- CN111368241A CN111368241A CN202010145583.2A CN202010145583A CN111368241A CN 111368241 A CN111368241 A CN 111368241A CN 202010145583 A CN202010145583 A CN 202010145583A CN 111368241 A CN111368241 A CN 111368241A
- Authority
- CN
- China
- Prior art keywords
- xpath
- image
- gui control
- attribute
- control
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/986—Document structures and storage, e.g. HTML extensions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Document Processing Apparatus (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于XPath的网页元素识别方法,网页元素识别方法分为三个部分,第一部分最底层元素属性的XPath集合T1,第二部分寻找能找到目标元素的最具有唯一性的层级,并生成这一层级属性的XPath集合T2,第三部分就是将T1和T2里面的XPath结合起来。本发明提供了全新的XPath生成方法,这个方法可以缩小目标元素的范围,增加找到元素的成功率和准确率。同时,也增加了网页测试,流程自动化,数据抓取等作业中的鲁棒性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种基于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集合;
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的总数,
其中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 (6)
1.基于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集合;
S108在生成的所有XPath中,删除掉那些不能找到目标元素的XPath,剩下的即为较小的XPath有效集合范围。
2.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S101中,属性包括HTML中的id、name、class。
3.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S101中,属性的数量≥2个。
4.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S105中,该层级出现次数为1。
5.根据权利要求1所述的基于XPath的网页元素识别方法,其特征在于:步骤S108中,当XPath有效集合范围内元素数量≥1个时,使用机器视觉识别系统进行校验;当XPath有效集合范围内元素数量为0时,使用机器视觉识别系统作为备用措施,保证流程的继续进行。
6.根据权利要求5所述的基于XPath的网页元素识别方法,其特征在于:所述机器视觉识别系统包括查找单元、图像截取单元、识别单元和控件录制单元,GUI控件的属性信息被预先录制并具有唯一标识;GUI控件为非标准控件,且GUI控件的父窗口为可识别的标准控件;
控件录制单元,适于预先录制GUI控件的属性信息,属性信息包括:GUI控件的父窗口的标题和/或类名,GUI控件相对于父窗口的位置坐标以及GUI控件对应的第一图像;控件录制单元在预先录制GUI控件的属性信息时,具体适于:将鼠标移动到所述GUI控件上,指定图像半径后,捕获鼠标相对于父窗口的坐标作为所述GUI控件相对于父窗口的位置坐标,截取以鼠标位置为中心,图像半径范围内的图像作为所述第一图像;
查找单元,适于根据属性信息中的父窗口标题和/或父窗口类名查找GUI控件所在的父窗口;
图像截取单元,适于根据GUI控件相对于父窗口的位置坐标,截取预设尺寸和位置的第二图像;
识别单元,适于计算所述第二图像与第一图像之间的相似度并根据所述相似度对所述GUI控件进行识别。
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 true CN111368241A (zh) | 2020-07-03 |
CN111368241B 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182468A (zh) * | 2020-10-14 | 2021-01-05 | 北京新纽科技有限公司 | 一种兼容客户端界面元素与网页页面元素的定位和解析方法 |
CN112882933A (zh) * | 2021-02-09 | 2021-06-01 | 京东数科海益信息科技有限公司 | 脚本录制方法、装置、设备及存储介质 |
CN113177168A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种基于Web元素属性特征的定位方法 |
CN115033822A (zh) * | 2022-06-14 | 2022-09-09 | 壹沓科技(上海)有限公司 | 一种元素定位方法、装置、设备及可读存储介质 |
CN115062206A (zh) * | 2022-05-30 | 2022-09-16 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
Citations (3)
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 |
-
2020
- 2020-03-05 CN CN202010145583.2A patent/CN111368241B/zh active Active
Patent Citations (3)
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 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182468A (zh) * | 2020-10-14 | 2021-01-05 | 北京新纽科技有限公司 | 一种兼容客户端界面元素与网页页面元素的定位和解析方法 |
CN112882933A (zh) * | 2021-02-09 | 2021-06-01 | 京东数科海益信息科技有限公司 | 脚本录制方法、装置、设备及存储介质 |
CN113177168A (zh) * | 2021-04-29 | 2021-07-27 | 上海云扩信息科技有限公司 | 一种基于Web元素属性特征的定位方法 |
CN113177168B (zh) * | 2021-04-29 | 2023-12-01 | 上海云扩信息科技有限公司 | 一种基于Web元素属性特征的定位方法 |
CN115062206A (zh) * | 2022-05-30 | 2022-09-16 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
CN115062206B (zh) * | 2022-05-30 | 2023-04-07 | 上海弘玑信息技术有限公司 | 一种网页元素的搜索方法和电子设备 |
CN115033822A (zh) * | 2022-06-14 | 2022-09-09 | 壹沓科技(上海)有限公司 | 一种元素定位方法、装置、设备及可读存储介质 |
CN115033822B (zh) * | 2022-06-14 | 2024-05-17 | 壹沓科技(上海)有限公司 | 一种元素定位方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111368241B (zh) | 2023-05-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111368241B (zh) | 基于XPath的网页元素识别方法 | |
TWI551134B (zh) | 在至少一個計算設備中執行視頻指紋生成及識別的方法及系統 | |
CN110399291A (zh) | 基于图像识别的用户页面测试方法及相关设备 | |
CN103838566A (zh) | 信息处理装置和信息处理方法 | |
CN102804147A (zh) | 执行abap源代码的代码检查的代码检查执行系统 | |
Delamaro et al. | Using concepts of content‐based image retrieval to implement graphical testing oracles | |
US20140301644A1 (en) | Extracting Reading Order Text and Semantic Entities | |
US10846057B2 (en) | System and method for automatic software application creation | |
CN110175609A (zh) | 界面元素检测方法、装置及设备 | |
Healey et al. | Interest driven navigation in visualization | |
KR102224936B1 (ko) | 식별을 위해 확장된 영역에 대한 특징을 수집하는 학습 장치 및 방법 및 컴퓨터 프로그램이 기록된 기록매체 | |
CN109344355A (zh) | 针对网页变化的自动回归检测与块匹配自适应方法和装置 | |
CN107294918A (zh) | 一种钓鱼网页检测方法及装置 | |
CN109547294A (zh) | 一种基于固件分析的联网设备型号探测方法、装置 | |
KR20100069147A (ko) | 웹사이트 품질 테스트 방법 및 시스템 | |
Ren et al. | Cross-device difference detector for mobile application gui compatibility testing | |
EP3408797B1 (en) | Image-based quality control | |
CN113139096A (zh) | 一种视频数据集标注方法及装置 | |
CN108280425A (zh) | 一种基于屏下式光学指纹传感器的快速测光实现方法 | |
CN112446850B (zh) | 适配测试方法、装置及电子设备 | |
CN115761778A (zh) | 一种文献重构方法、装置、设备和存储介质 | |
CN112579456B (zh) | 一种Web自动化测试方法及装置 | |
CN115481025A (zh) | 自动化测试的脚本录制方法、装置、计算机设备及介质 | |
CN115186240A (zh) | 基于关联性信息的社交网络用户对齐方法、装置、介质 | |
KR102217092B1 (ko) | 애플리케이션의 품질 정보 제공 방법 및 장치 |
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 |