CN111381809B - 一种焦点页面的查找方法及装置 - Google Patents
一种焦点页面的查找方法及装置 Download PDFInfo
- Publication number
- CN111381809B CN111381809B CN201811624045.0A CN201811624045A CN111381809B CN 111381809 B CN111381809 B CN 111381809B CN 201811624045 A CN201811624045 A CN 201811624045A CN 111381809 B CN111381809 B CN 111381809B
- Authority
- CN
- China
- Prior art keywords
- page
- focus
- searched
- parent
- child
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 description 21
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种焦点页面的查找方法及装置,获取包含父页面和父页面包含的各个子页面的待查找页面集,基于待查找页面集中每个页面的HTML文件生成该页面对应的DOM树,得到DOM树集,基于每个页面的JS文件生成该页面对应的虚拟语法树,得到虚拟语法树集,将每个DOM树中具备焦点功能的节点作为该DOM树在待查找页面集中对应的页面的焦点元素,将虚拟语法树集存在按键响应事件的虚拟语法树在待查找页面集中对应的页面进行标记,从而基于待查找页面集中每个页面的焦点元素以及标记,确定焦点页面。本发明基于每个页面的焦点元素以及按键响应事件来查找焦点页面,保证确定的焦点页面为实际的焦点页面,解决了现有技术中的问题。
Description
技术领域
本发明涉及互联网技术领域,更具体的说,涉及一种焦点页面的查找方法及装置。
背景技术
焦点页面是指当前正在活动的页面,主要负责响应按键事件,包括:移动焦点(方向键)、字符键入(字母/数字键)、退出页面(退出/返回键)、确定键、翻页键等。
现有方案通常将父页面选为焦点页面,若某一个前端页面本申请设置有window.focus,则将该前端页面选为焦点页面。
但是,很多情况下,现有方案所选取的焦点页面并不是实际的焦点页面,其中,实际的焦点页面指的是能够响应按键事件的页面,因此,可能带来如下问题:1、导致首焦点不在用户期望的位置上,需要多次移动焦点才能到达正确位置22、任何按键事件均不响应,无法与用户进行交互。
发明内容
有鉴于此,本发明公开一种焦点页面的查找方法及装置,以实现通过构建每个页面的DOM树和虚拟语法树,来确定每个页面的焦点元素以及按键响应事件,从而基于每个页面的焦点元素以及按键响应事件来查找焦点页面,保证确定的焦点页面为实际的焦点页面,解决现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
一种焦点页面的查找方法,包括:
获取待查找页面集,所述待查找页面集包括:父页面和所述父页面包含的各个子页面;
基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集,所述页面为所述父页面或所述子页面;
选取所述DOM树集中每个所述DOM树中具备焦点功能的节点作为该DOM树在所述待查找页面集中对应的页面的焦点元素;
基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集;
将所述虚拟语法树集存在按键响应事件的虚拟语法树在所述待查找页面集中对应的页面进行标记;
基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面。
可选的,所述基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集的过程,具体包括:
获取所述页面的HTML文件;
将所述HTML文件中的每个字节数据转化为相对应的字符;
采用词法分析器将每个所述字符标记成对应的词语;
采用语法分析器将每个所述词语构建成HTML元素的节点;
将所述HTML元素的各个节点进行组建,生成所述页面相对应的DOM树;
将所述待查找页面集中每个页面相对应的DOM树进行集合,得到所述DOM树集。
可选的,所述基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集的过程,具体包括:
获取所述页面的JS文件;
采用词法分析器将JS文件中的每个javascript脚本标记成对应的词语;
采用语法分析器将每个所述词语构建成javascript脚本的节点;
将所述javascript脚本的各个节点进行组建,生成所述页面相对应的虚拟语法树;
将所述待查找页面集中每个页面相对应的虚拟语法树进行集合,得到所述虚拟语法树集。
可选的,还包括:
当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
可选的,所述基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面,具体包括:
当所述父页面不存在所述焦点元素,且仅有所述子页面存在所述焦点元素时,则将第一个查找到的具有所述焦点元素的子页面确定为所述焦点页面;
或,当所述父页面存在所述焦点元素,且各个所述子页面均不存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面同时存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述父页面存在所述按键响应事件时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述子页面存在所述按键响应事件时,则将第一个查找到的具有所述按键响应事件的子页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且所述父页面和所述子页面均存在所述按键响应事件时,则将所述父页面确定为焦点页面;
或,当所述父页面和所述子页面均不存在焦点元素和所述按键响应事件时,则不确定所述焦点页面。
一种焦点页面的查找装置,包括:
获取单元,用于获取待查找页面集,所述待查找页面集包括:父页面和所述父页面包含的各个子页面;
第一生成单元,用于基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集,所述页面为所述父页面或所述子页面;
选取单元,用于选取所述DOM树集中每个所述DOM树中具备焦点功能的节点作为该DOM树在所述待查找页面集中对应的页面的焦点元素;
第二生成单元,用于基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集;
标记单元,用于将所述虚拟语法树集存在按键响应事件的虚拟语法树在所述待查找页面集中对应的页面进行标记;
查找单元,用于基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面。
可选的,所述第一生成单元具体用于:
获取所述页面的HTML文件;
将所述HTML文件中的每个字节数据转化为相对应的字符;
采用词法分析器将每个所述字符标记成对应的词语;
采用语法分析器将每个所述词语构建成HTML元素的节点;
将所述HTML元素的各个节点进行组建,生成所述页面相对应的DOM树;
将所述待查找页面集中每个页面相对应的DOM树进行集合,得到所述DOM树集。
可选的,所述第二生成单元具体用于:
获取所述页面的JS文件;
采用词法分析器将JS文件中的每个javascript脚本标记成对应的词语;
采用语法分析器将每个所述词语构建成javascript脚本的节点;
将所述javascript脚本的各个节点进行组建,生成所述页面相对应的虚拟语法树;
将所述待查找页面集中每个页面相对应的虚拟语法树进行集合,得到所述虚拟语法树集。
可选的,还包括:
确定单元,用于当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
可选的,所述查找单元具体用于:
当所述父页面不存在所述焦点元素,且仅有所述子页面存在所述焦点元素时,则将第一个查找到的具有所述焦点元素的子页面确定为所述焦点页面;
或,当所述父页面存在所述焦点元素,且各个所述子页面均不存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面同时存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述父页面存在所述按键响应事件时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述子页面存在所述按键响应事件时,则将第一个查找到的具有所述按键响应事件的子页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且所述父页面和所述子页面均存在所述按键响应事件时,则将所述父页面确定为焦点页面;
或,当所述父页面和所述子页面均不存在焦点元素和所述按键响应事件时,则不确定所述焦点页面。
从上述的技术方案可知,本发明公开了一种焦点页面的查找方法及装置,获取包含父页面和父页面包含的各个子页面的待查找页面集,基于待查找页面集中每个页面的HTML文件生成该页面对应的DOM树,得到DOM树集,基于每个页面的JS文件生成该页面对应的虚拟语法树,得到虚拟语法树集,将每个DOM树中具备焦点功能的节点作为该DOM树在待查找页面集中对应的页面的焦点元素,将虚拟语法树集存在按键响应事件的虚拟语法树在待查找页面集中对应的页面进行标记,从而基于待查找页面集中每个页面的焦点元素以及标记,确定焦点页面。相对于传统方案,本发明通过构建每个页面的DOM树和虚拟语法树,来确定每个页面的焦点元素以及按键响应事件,从而基于每个页面的焦点元素以及按键响应事件来查找焦点页面,因此,保证了确定的焦点页面为实际的焦点页面,解决了现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据公开的附图获得其他的附图。
图1为本发明实施例公开的一种焦点页面的查找方法流程图;
图2为本发明实施例公开的一种父页面和子页面的关系框图;
图3为本发明实施例公开的一种焦点页面的查找装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种焦点页面的查找方法及装置,获取包含父页面和父页面包含的各个子页面的待查找页面集,基于待查找页面集中每个页面的HTML文件生成该页面对应的DOM树,得到DOM树集,基于每个页面的JS文件生成该页面对应的虚拟语法树,得到虚拟语法树集,将每个DOM树中具备焦点功能的节点作为该DOM树在待查找页面集中对应的页面的焦点元素,将虚拟语法树集存在按键响应事件的虚拟语法树在待查找页面集中对应的页面进行标记,从而基于待查找页面集中每个页面的焦点元素以及标记,确定焦点页面。相对于传统方案,本发明通过构建每个页面的DOM树和虚拟语法树,来确定每个页面的焦点元素以及按键响应事件,从而基于每个页面的焦点元素以及按键响应事件来查找焦点页面,因此,保证了确定的焦点页面为实际的焦点页面,解决了现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
参见图1,本发明一实施例公开的一种焦点页面的查找方法流程图,该方法包括步骤:
步骤S101、获取待查找页面集;
其中,待查找页面集包括:父页面和父页面包含的各个子页面。
父页面和子页面的定义如下:如果在页面A用标签<iframe>或<frame>加载页面B、页面C、……和页面N,则页面A为父页面,页面B、页面C、……和页面N为子页面,具体参见附图2。
步骤S102、基于待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集;
需要说明的是,待查找页面集中的每个页面为父页面或子页面。
具体的,基于父页面中的HTML文件生成DOM树,基于每个子页面中的HTML文件,生成该子页面的DOM树。
HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)和主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
本实施例中,DOM树的生成过程为:获取每个页面的HTML文件,将HTML文件的每个字节数据(Bytes)转化为相对应的字符(Characters),采用词法分析器将每个字符标记成相对应的词语,采用语法分析器将每个词语构建成HTML元素的节点,如DOCUMENT、HEAD、DIV、IMG等,将HTML元素的各个节点进行组建,生成DOM树。
这样,将待查找页面集中每个页面相对应的DOM树进行集合,得到DOM树集。
步骤S103、选取DOM树集中每个DOM树中具备焦点功能的节点作为该DOM树在待查找页面集中对应的页面的焦点元素;
具体的,从父页面的DOM树中选取具备焦点功能的节点作为焦点元素,,以及从每个子页面的DOM树中选取具体焦点功能的节点作为焦点元素。
需要说明的是,具体焦点功能的节点满足的条件为:在HTML标签里,鼠标或者键盘点击具有响应,且能够移动焦点框的节点,即为具有焦点功能的节点,比如<a>、<area>、<audio>、<button>、<input>、<select>、<textarea>、<video>生成的节点。
在实际应用中,可以对DOM树进行深度优先遍历,搜索出具体焦点功能的焦点元素。
其中,当DOM树中没有具备焦点功能的节点时,则DOM树不具备焦点元素。
步骤S104、基于待查找页面集中每个页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集;
具体的,基于父页面中的JS文件生成虚拟语法树,基于每个子页面中的JS文件,生成该子页面的虚拟语法树。
需要特别说明的是,当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
虚拟语法树又叫抽象语法树,生成过程为:获取每个页面的JS文件,通过词法分析器将JS文件中的每个javascript脚本标记成相对应的词语,通过语法分析器将每个词语构建成javascript脚本的节点,如FUNCTION、VARIABLE、RETURN等,将javascript脚本的各个节点进行组建,生成虚拟语法树。
这样,将待查找页面集中每个页面相对应的虚拟语法树进行集合,得到虚拟语法树集。
步骤S105、将虚拟语法树集存在按键响应事件的虚拟语法树在待查找页面集中对应的页面进行标记;
具体的,对父页面对应的虚拟语法树进行分析,判断父页面对应的虚拟语法树是否存在按键响应事件,如,onkeydown、onkeypress、onkeyup等,若父页面对应的虚拟语法树存在一个或一个以上的按键响应事件,则程序就将父页面进行标记。
对每个子页面对应的虚拟语法树进行分析,判断子页面对应的虚拟语法树是否存在按键响应事件,如,onkeydown、onkeypress、onkeyup等,若子页面对应的虚拟语法树存在一个或一个以上的按键响应事件,则程序就将该子页面进行标记。
需要特别说明的是,当父页面或子页面对应的虚拟语法树不存在按键响应事件时,则对不存在按键响应事件的父页面或子页面标记为空。
步骤S106、基于待查找页面集中每个页面的焦点元素以及标记,查找焦点页面。
综上可知,本发明公开了一种焦点页面的查找方法,获取包含父页面和父页面包含的各个子页面的待查找页面集,基于待查找页面集中每个页面的HTML文件生成该页面对应的DOM树,得到DOM树集,基于每个页面的JS文件生成该页面对应的虚拟语法树,得到虚拟语法树集,将每个DOM树中具备焦点功能的节点作为该DOM树在待查找页面集中对应的页面的焦点元素,将虚拟语法树集存在按键响应事件的虚拟语法树在待查找页面集中对应的页面进行标记,从而基于待查找页面集中每个页面的焦点元素以及标记,确定焦点页面。相对于传统方案,本发明通过构建每个页面的DOM树和虚拟语法树,来确定每个页面的焦点元素以及按键响应事件,从而基于每个页面的焦点元素以及按键响应事件来查找焦点页面,因此,保证了确定的焦点页面为实际的焦点页面,解决了现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
上述实施例中,在确定待查找页面集中每个页面的焦点元素以及标记后,可以采用焦点元素优先级大于按键响应事件的优先级的原则,从待查找页面集中查找焦点页面。
具体的,从待查找页面集中的父页面和该父页面包含的各个子页面中,查找的焦点页面包括如下情况:
(1)当父页面不存在焦点元素,且仅有子页面存在焦点元素时,则将第一个查找到的具有焦点元素的子页面确定为焦点页面。
(2)当父页面存在焦点元素,且各个子页面均不存在焦点元素时,则将父页面确定为焦点页面。
(3)当父页面和子页面同时存在焦点元素时,则将父页面确定为焦点页面。
(4)当父页面和子页面均不存在焦点元素,且仅有父页面存在按键响应事件时,则将父页面确定为焦点页面。
(5)当父页面和子页面均不存在焦点元素,且仅有子页面存在按键响应事件时,则将第一个查找到的具有按键响应事件的子页面确定为焦点页面。
(6)当父页面和子页面均不存在焦点元素,且父页面和子页面均存在按键响应事件时,则将父页面确定为焦点页面。
(7)当父页面和子页面均不存在焦点元素和按键响应事件时,则不确定焦点页面。
综上可知,本发明采用焦点元素优先级大于按键响应事件的优先级的原则确定焦点页面,当父页面存在焦点元素时,无论子页面是否存在焦点元素,均将父页面确定为焦点页面;当父页面不存在焦点元素时,将第一个查找到的具有焦点元素的子页面确定为焦点页面;当父页面和子页面均不存在焦点元素时,若父页面存在按键响应事件,则无论子页面是否存在按键响应事件,均将父页面确定为焦点页面;当父页面和子页面均不存在焦点元素时,若父页面不存在按键响应事件,则第一个查找到的具有按键响应事件的子页面确定为焦点页面。相对于传统方案,本发明基于每个页面的焦点元素以及按键响应事件来查找焦点页面,因此,保证了确定的焦点页面为实际的焦点页面,解决了现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
与上述方法实施例相对应,本发明还公开了一种焦点页面的查找装置。
参见图3,本发明一实施例公开的一种焦点页面的查找装置的结构示意图,包括:
获取单元201,用于获取待查找页面集,所述待查找页面集包括:父页面和所述父页面包含的各个子页面;
第一生成单元202,用于基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集,所述页面为所述父页面或所述子页面;
需要说明的是,待查找页面集中的每个页面为父页面或子页面。
具体的,基于父页面中的HTML文件生成DOM树,基于每个子页面中的HTML文件,生成该子页面的DOM树。
HTML(Hyper Text Mark-up Language)即超文本标记语言或超文本链接标示语言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)和主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。
本实施例中,第一生成单元202具体用于:
获取所述页面的HTML文件;
将所述HTML文件中的每个字节数据转化为相对应的字符;
采用词法分析器将每个所述字符标记成对应的词语;
采用语法分析器将每个所述词语构建成HTML元素的节点;
将所述HTML元素的各个节点进行组建,生成所述页面相对应的DOM树;
将所述待查找页面集中每个页面相对应的DOM树进行集合,得到所述DOM树集。
选取单元203,用于选取所述DOM树集中每个所述DOM树中具备焦点功能的节点作为该DOM树在所述待查找页面集中对应的页面的焦点元素;
具体的,从父页面的DOM树中选取具备焦点功能的节点作为焦点元素,,以及从每个子页面的DOM树中选取具体焦点功能的节点作为焦点元素。
需要说明的是,具体焦点功能的节点满足的条件为:在HTML标签里,鼠标或者键盘点击具有响应,且能够移动焦点框的节点,即为具有焦点功能的节点,比如<a>、<area>、<audio>、<button>、<input>、<select>、<textarea>、<video>生成的节点。
在实际应用中,可以对DOM树进行深度优先遍历,搜索出具体焦点功能的焦点元素。
其中,当DOM树中没有具备焦点功能的节点时,则DOM树不具备焦点元素。
第二生成单元204,用于基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集;
具体的,基于父页面中的JS文件生成虚拟语法树,基于每个子页面中的JS文件,生成该子页面的虚拟语法树。
需要特别说明的是,当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
第二生成单元204具体用于:
获取所述页面的JS文件;
采用词法分析器将JS文件中的每个javascript脚本标记成对应的词语;
采用语法分析器将每个所述词语构建成javascript脚本的节点;
将所述javascript脚本的各个节点进行组建,生成所述页面相对应的虚拟语法树;
将所述待查找页面集中每个页面相对应的虚拟语法树进行集合,得到所述虚拟语法树集。
标记单元205,用于将所述虚拟语法树集存在按键响应事件的虚拟语法树在所述待查找页面集中对应的页面进行标记;
具体的,对父页面对应的虚拟语法树进行分析,判断父页面对应的虚拟语法树是否存在按键响应事件,如,onkeydown、onkeypress、onkeyup等,若父页面对应的虚拟语法树存在一个或一个以上的按键响应事件,则程序就将父页面进行标记。
对每个子页面对应的虚拟语法树进行分析,判断子页面对应的虚拟语法树是否存在按键响应事件,如,onkeydown、onkeypress、onkeyup等,若子页面对应的虚拟语法树存在一个或一个以上的按键响应事件,则程序就将该子页面进行标记。
需要特别说明的是,当父页面或子页面对应的虚拟语法树不存在按键响应事件时,则对不存在按键响应事件的父页面或子页面标记为空。
查找单元206,用于基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面。
综上可知,本发明公开了一种焦点页面的查找装置,获取包含父页面和父页面包含的各个子页面的待查找页面集,基于待查找页面集中每个页面的HTML文件生成该页面对应的DOM树,得到DOM树集,基于每个页面的JS文件生成该页面对应的虚拟语法树,得到虚拟语法树集,将每个DOM树中具备焦点功能的节点作为该DOM树在待查找页面集中对应的页面的焦点元素,将虚拟语法树集存在按键响应事件的虚拟语法树在待查找页面集中对应的页面进行标记,从而基于待查找页面集中每个页面的焦点元素以及标记,确定焦点页面。相对于传统方案,本发明通过构建每个页面的DOM树和虚拟语法树,来确定每个页面的焦点元素以及按键响应事件,从而基于每个页面的焦点元素以及按键响应事件来查找焦点页面,因此,保证了确定的焦点页面为实际的焦点页面,解决了现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
为进一步优化上述实施例,查找装置还可以包括:
确定单元,用于当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
上述实施例中,在确定待查找页面集中每个页面的焦点元素以及标记后,可以采用焦点元素优先级大于按键响应事件的优先级的原则,从待查找页面集中查找焦点页面。因此,查找单元206具体用于:
当所述父页面不存在所述焦点元素,且仅有所述子页面存在所述焦点元素时,则将第一个查找到的具有所述焦点元素的子页面确定为所述焦点页面;
或,当所述父页面存在所述焦点元素,且各个所述子页面均不存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面同时存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述父页面存在所述按键响应事件时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述子页面存在所述按键响应事件时,则将第一个查找到的具有所述按键响应事件的子页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且所述父页面和所述子页面均存在所述按键响应事件时,则将所述父页面确定为焦点页面;
或,当所述父页面和所述子页面均不存在焦点元素和所述按键响应事件时,则不确定所述焦点页面。
综上可知,本发明采用焦点元素优先级大于按键响应事件的优先级的原则确定焦点页面,当父页面存在焦点元素时,无论子页面是否存在焦点元素,均将父页面确定为焦点页面;当父页面不存在焦点元素时,将第一个查找到的具有焦点元素的子页面确定为焦点页面;当父页面和子页面均不存在焦点元素时,若父页面存在按键响应事件,则无论子页面是否存在按键响应事件,均将父页面确定为焦点页面;当父页面和子页面均不存在焦点元素时,若父页面不存在按键响应事件,则第一个查找到的具有按键响应事件的子页面确定为焦点页面。相对于传统方案,本发明基于每个页面的焦点元素以及按键响应事件来查找焦点页面,因此,保证了确定的焦点页面为实际的焦点页面,解决了现有技术中因确定的焦点页面不是实际的焦点页面而带来的问题。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种焦点页面的查找方法,其特征在于,包括:
获取待查找页面集,所述待查找页面集包括:父页面和所述父页面包含的各个子页面;
基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集,所述页面为所述父页面或所述子页面;
选取所述DOM树集中每个所述DOM树中具备焦点功能的节点作为该DOM树在所述待查找页面集中对应的页面的焦点元素;
基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集;
将所述虚拟语法树集存在按键响应事件的虚拟语法树在所述待查找页面集中对应的页面进行标记;
采用焦点元素优先级大于按键响应事件的优先级的原则,基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面。
2.根据权利要求1所述的查找方法,其特征在于,所述基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集的过程,具体包括:
获取所述页面的HTML文件;
将所述HTML文件中的每个字节数据转化为相对应的字符;
采用词法分析器将每个所述字符标记成对应的词语;
采用语法分析器将每个所述词语构建成HTML元素的节点;
将所述HTML元素的各个节点进行组建,生成所述页面相对应的DOM树;
将所述待查找页面集中每个页面相对应的DOM树进行集合,得到所述DOM树集。
3.根据权利要求1所述的查找方法,其特征在于,所述基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集的过程,具体包括:
获取所述页面的JS文件;
采用词法分析器将JS文件中的每个javascript脚本标记成对应的词语;
采用语法分析器将每个所述词语构建成javascript脚本的节点;
将所述javascript脚本的各个节点进行组建,生成所述页面相对应的虚拟语法树;
将所述待查找页面集中每个页面相对应的虚拟语法树进行集合,得到所述虚拟语法树集。
4.根据权利要求1所述的查找方法,其特征在于,还包括:
当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
5.根据权利要求1所述的查找方法,其特征在于,所述基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面,具体包括:
当所述父页面不存在所述焦点元素,且仅有所述子页面存在所述焦点元素时,则将第一个查找到的具有所述焦点元素的子页面确定为所述焦点页面;
或,当所述父页面存在所述焦点元素,且各个所述子页面均不存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面同时存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述父页面存在所述按键响应事件时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述子页面存在所述按键响应事件时,则将第一个查找到的具有所述按键响应事件的子页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且所述父页面和所述子页面均存在所述按键响应事件时,则将所述父页面确定为焦点页面;
或,当所述父页面和所述子页面均不存在焦点元素和所述按键响应事件时,则不确定所述焦点页面。
6.一种焦点页面的查找装置,其特征在于,包括:
获取单元,用于获取待查找页面集,所述待查找页面集包括:父页面和所述父页面包含的各个子页面;
第一生成单元,用于基于所述待查找页面集中每个页面的HTML文件生成该页面相对应的DOM树,得到DOM树集,所述页面为所述父页面或所述子页面;
选取单元,用于选取所述DOM树集中每个所述DOM树中具备焦点功能的节点作为该DOM树在所述待查找页面集中对应的页面的焦点元素;
第二生成单元,用于基于所述待查找页面集中每个所述页面的JS文件生成该页面相对应的虚拟语法树,得到虚拟语法树集;
标记单元,用于将所述虚拟语法树集存在按键响应事件的虚拟语法树在所述待查找页面集中对应的页面进行标记;
查找单元,用于采用焦点元素优先级大于按键响应事件的优先级的原则,基于所述待查找页面集中每个所述页面的所述焦点元素以及所述标记,查找焦点页面。
7.根据权利要求6所述的查找装置,其特征在于,所述第一生成单元具体用于:
获取所述页面的HTML文件;
将所述HTML文件中的每个字节数据转化为相对应的字符;
采用词法分析器将每个所述字符标记成对应的词语;
采用语法分析器将每个所述词语构建成HTML元素的节点;
将所述HTML元素的各个节点进行组建,生成所述页面相对应的DOM树;
将所述待查找页面集中每个页面相对应的DOM树进行集合,得到所述DOM树集。
8.根据权利要求6所述的查找装置,其特征在于,所述第二生成单元具体用于:
获取所述页面的JS文件;
采用词法分析器将JS文件中的每个javascript脚本标记成对应的词语;
采用语法分析器将每个所述词语构建成javascript脚本的节点;
将所述javascript脚本的各个节点进行组建,生成所述页面相对应的虚拟语法树;
将所述待查找页面集中每个页面相对应的虚拟语法树进行集合,得到所述虚拟语法树集。
9.根据权利要求6所述的查找装置,其特征在于,还包括:
确定单元,用于当所述待查找页面集中存在第一页面时,将所述第一页面对应的虚拟语法树确定为空的虚拟语法树,其中,所述第一页面为没有JS文件或HTML文件没有嵌入javascript脚本的页面。
10.根据权利要求6所述的查找装置,其特征在于,所述查找单元具体用于:
当所述父页面不存在所述焦点元素,且仅有所述子页面存在所述焦点元素时,则将第一个查找到的具有所述焦点元素的子页面确定为所述焦点页面;
或,当所述父页面存在所述焦点元素,且各个所述子页面均不存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面同时存在所述焦点元素时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述父页面存在所述按键响应事件时,则将所述父页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且仅有所述子页面存在所述按键响应事件时,则将第一个查找到的具有所述按键响应事件的子页面确定为所述焦点页面;
或,当所述父页面和所述子页面均不存在所述焦点元素,且所述父页面和所述子页面均存在所述按键响应事件时,则将所述父页面确定为焦点页面;
或,当所述父页面和所述子页面均不存在焦点元素和所述按键响应事件时,则不确定所述焦点页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624045.0A CN111381809B (zh) | 2018-12-28 | 2018-12-28 | 一种焦点页面的查找方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811624045.0A CN111381809B (zh) | 2018-12-28 | 2018-12-28 | 一种焦点页面的查找方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111381809A CN111381809A (zh) | 2020-07-07 |
CN111381809B true CN111381809B (zh) | 2023-12-05 |
Family
ID=71214712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811624045.0A Active CN111381809B (zh) | 2018-12-28 | 2018-12-28 | 一种焦点页面的查找方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111381809B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199130B (zh) * | 2020-10-14 | 2022-07-01 | 上海妙一生物科技有限公司 | 绑定函数执行方法、装置、设备和存储介质 |
CN112527297B (zh) * | 2020-12-23 | 2024-09-17 | 北京飞漫软件技术有限公司 | 数据处理的方法、装置、设备及存储介质 |
CN114461171B (zh) * | 2022-01-27 | 2023-11-28 | 山东省城市商业银行合作联盟有限公司 | 网上银行页面的朗读方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106921894A (zh) * | 2017-02-28 | 2017-07-04 | 烽火通信科技股份有限公司 | 一种机顶盒浏览器页面初始焦点的查找方法及系统 |
CN106951481A (zh) * | 2013-09-24 | 2017-07-14 | 青岛海信电器股份有限公司 | 网页浏览器导航方法、网页浏览器导航装置和电视机 |
CN107688476A (zh) * | 2016-08-04 | 2018-02-13 | 北京京东尚科信息技术有限公司 | 网页信息的展示方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20040045101A (ko) * | 2002-11-22 | 2004-06-01 | 삼성전자주식회사 | 마크업 화면에 매립된 오브젝트 화면의 입력 아이템을포커싱하는 방법 및 그 정보저장매체 |
US9285964B2 (en) * | 2013-06-18 | 2016-03-15 | Google Inc. | Automatically recovering and maintaining focus |
-
2018
- 2018-12-28 CN CN201811624045.0A patent/CN111381809B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951481A (zh) * | 2013-09-24 | 2017-07-14 | 青岛海信电器股份有限公司 | 网页浏览器导航方法、网页浏览器导航装置和电视机 |
CN107688476A (zh) * | 2016-08-04 | 2018-02-13 | 北京京东尚科信息技术有限公司 | 网页信息的展示方法和装置 |
CN106921894A (zh) * | 2017-02-28 | 2017-07-04 | 烽火通信科技股份有限公司 | 一种机顶盒浏览器页面初始焦点的查找方法及系统 |
Non-Patent Citations (2)
Title |
---|
Detecting DOM-Sourced Cross-Site Scripting in Browser Extensions;Jinkun Pan等;《2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)》;第24-34页 * |
嵌入式JavaScript对象实现技术研究;曹加银;《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》;第I138-36页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111381809A (zh) | 2020-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8762556B2 (en) | Displaying content on a mobile device | |
JP5695027B2 (ja) | Ajaxウェブページコンテンツを取得する方法およびシステム | |
US7730395B2 (en) | Virtual tags and the process of virtual tagging | |
US20020013792A1 (en) | Virtual tags and the process of virtual tagging | |
CN111381809B (zh) | 一种焦点页面的查找方法及装置 | |
US20100083095A1 (en) | Method for Extracting Data from Web Pages | |
US20150067476A1 (en) | Title and body extraction from web page | |
CN103166981B (zh) | 一种无线网页转码方法及装置 | |
US20080163077A1 (en) | System and method for visually generating an xquery document | |
JP4226261B2 (ja) | 構造化文書種別判定システム及び構造化文書種別判定方法 | |
CN101872350A (zh) | 网页正文抽取方法和装置 | |
WO2023155303A1 (zh) | 网页数据的提取方法和装置、计算机设备、存储介质 | |
Uzun et al. | An effective and efficient Web content extractor for optimizing the crawling process | |
US20090083300A1 (en) | Document processing device and document processing method | |
CN103853717B (zh) | 网络爬虫系统 | |
US20090024583A1 (en) | Techniques in using feedback in crawling web content | |
CN113868568A (zh) | 一种网页关键字高亮方法、装置、设备及存储介质 | |
CN107145591B (zh) | 一种基于标题的网页有效元数据内容提取方法 | |
US6772395B1 (en) | Self-modifying data flow execution architecture | |
US20080005662A1 (en) | Server Device and Name Space Issuing Method | |
Qureshi et al. | Determining the complexity of XML documents | |
Artail et al. | Device-aware desktop web page transformation for rendering on handhelds | |
KR101045481B1 (ko) | 부분 매칭을 이용한 웹 페이지의 데이터 추출 방법 및 그 기록매체 | |
US20080005085A1 (en) | Server Device and Search Method | |
US9311059B2 (en) | Software development tool that provides context-based data schema code hinting |
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 |