CN114579025A - 一种基于css选择器的ie浏览器元素定位方法 - Google Patents

一种基于css选择器的ie浏览器元素定位方法 Download PDF

Info

Publication number
CN114579025A
CN114579025A CN202210205261.1A CN202210205261A CN114579025A CN 114579025 A CN114579025 A CN 114579025A CN 202210205261 A CN202210205261 A CN 202210205261A CN 114579025 A CN114579025 A CN 114579025A
Authority
CN
China
Prior art keywords
mouse
browser
css selector
css
selector
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.)
Pending
Application number
CN202210205261.1A
Other languages
English (en)
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.)
Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Original Assignee
Shenzhen Qianhai Huanrong Lianyi Information Technology Service 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 Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd filed Critical Shenzhen Qianhai Huanrong Lianyi Information Technology Service Co Ltd
Priority to CN202210205261.1A priority Critical patent/CN114579025A/zh
Publication of CN114579025A publication Critical patent/CN114579025A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/957Browsing optimisation, e.g. caching or content distillation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种基于CSS选择器的IE浏览器元素定位方法,先将鼠标移动到窗体上时,触发WM_MOUSEHOVER事件,获取当前鼠标坐标点下的窗口类名;判断获取的窗口类名为“Internet Explorer_Server”,获取IHtmlDocument2接口的COM指针;获取鼠标位置所在HTML元素;向上查找其父元素,获取该元素在父元素的子元素中同标签的排序;整理所有获取到的该元素在父元素的子元素中同标签的排序;根据其排序提取其CSS选择器特征,找出唯一CSS选择器,实现对IE浏览器元素的定位。本发明通过移动鼠标的方式,获取鼠标下IE浏览器中页面元素的CSS唯一选择器,定位操作方便快捷。

Description

一种基于CSS选择器的IE浏览器元素定位方法
技术领域
本发明涉及计算机软件领域,尤其涉及的是一种基于CSS选择器的IE浏览器元素定位方法。
背景技术
在使用IE浏览器时,要定位某个页面元素,往往需要人为手动查看DOM树的方式找到元素特征,如元素id或者className等,基于人为识别出来的元素id或者className等特征,利用Javascript原生API来定位元素。这种方式往往耗时费力,并不是一个通用的方法。
因此,现有技术存在缺陷,需要改进。
发明内容
本发明所要解决的技术问题是:提供一种通过移动鼠标的方式,获取鼠标下IE浏览器中页面元素的CSS唯一选择器,减少IE浏览器元素定位时间的于CSS选择器的IE浏览器元素定位方法。
本发明的技术方案如下:一种基于CSS选择器的IE浏览器元素定位方法,包括如下步骤:步骤S1:拦截鼠标事件,并将鼠标移动到窗体上时,触发WM_MOUSEHOVER事件,并在响应处理HOVER事件时,获取当前鼠标坐标点下的窗口类名;步骤S2:判断获取的窗口类名是否为“Internet Explorer_Server”,是则进行步骤S3,否则返回重复步骤S1;步骤S3:根据窗口类名中窗口ID值获取IHtmlDocument2接口的COM指针;并且,根据IHtmlDocument2接口获取鼠标位置所在HTML元素;步骤S4:根据鼠标位置所在HTML元素,向上查找其父元素,获取该元素在父元素的子元素中同标签的排序;步骤S5:重复6步骤,直到查找的父元素存在合法ID值或标签为<html>;步骤S6:整理所有获取到的该元素在父元素的子元素中同标签的排序;根据其排序,提取其CSS选择器特征,找出其唯一CSS选择器,根据该CSS选择器实现对IE浏览器元素的定位。
应用于上述技术方案,所述的基于CSS选择器的IE浏览器元素定位方法中,在所述步骤S1中,是通过windows***的消息拦截技术,拦截鼠标事件。
应用于上述技术方案,所述的基于CSS选择器的IE浏览器元素定位方法中,步骤S6中:在整理所有获取到的该元素在父元素的子元素中同标签的排序时;是将其排序整理为如下类似格式:
content_left>DIV:nth-of-type(1)>DIV:nth-of-type(1)>DIV:nth-of-type(2),根据其类似格式,提取其CSS选择器特征,找出其唯一CSS选择器。
本发明的有益效果为:
本发明通过通过移动鼠标的方式,根据鼠标位置所在HTML元素,向上查找其父元素,获取该元素在父元素的子元素中同标签的排序,根据同标签的排序,自动提取IE浏览器元素CSS特征,从而根据CSS选择器实现对IE浏览器元素的定位,通过计算机程序进行定位,定位操作方便快捷。
具体实施方式
以下具体实施例,对本发明进行详细说明。
本实施例提供了一种基于CSS选择器的IE浏览器元素定位方法,所述IE浏览器元素定位方法,包括如下步骤:步骤S1:通过windows***的消息拦截技术,拦截鼠标事件,拦截鼠标事件后,并将鼠标移动到窗体上时,触发WM_MOUSEHOVER事件,IE浏览器响应并处理HOVER事件,在响应并处理HOVER事件时,计算机程序获取当前鼠标坐标点下的窗口类名;其中,HOVER事件,指一个模仿悬复停事件;当鼠标移动到一个匹配的百元素上面时,会触发指定的第一个函度数;当鼠标移出这个元素时,会触发指定的第二个函数;而且,会伴随着对鼠标是否仍然处在特定元素中的检测,如果是,则会继续保持“悬停”状态,而不触发移出事件。
获取当前鼠标坐标点下的窗口类名后,进行步骤S2:判断获取的窗口类名是否为“Internet Explorer_Server”,如果是,则进行步骤S3,否则返回重复步骤S1,继续执行步骤S1来获取窗口类名,直到获取的窗口类名是否为“Internet Explorer_Server”为止。
步骤S3:根据窗口类名中窗口ID值获取IHtmlDocument2接口的COM指针;其中,COM是组件对象模型(Component Object Model,COM)是基于Windows平台的一套组件对象接口标准,由一组构造规范和组件对象库组成。组件对象不使用方法而用接口来描述自身。接口被定义为"在对象上实现的一组语义上相关的功能",其实质是一组函数指针表,每个指针必须初始化指向某个具体的函数体。一个组件对象实现的接口数量没有限制。
然后,根据IHtmlDocument2接口以及其COM指针获取鼠标位置所在HTML元素。
并且,执行步骤S4:根据鼠标位置所在HTML元素,向上查找其父元素,获取该元素在父元素的子元素中同标签的排序;并且,步骤S5:重复6步骤,直到查找的父元素存在合法ID值或标签为<html>为止,则停止查找。
最后步骤S6:整理所有获取到的该元素在父元素的子元素中同标签的排序;根据其排序,提取其CSS选择器特征,找出其唯一CSS选择器,根据该CSS选择器实现对IE浏览器元素的定位。
具体是,步骤S6中:在整理所有获取到的该元素在父元素的子元素中同标签的排序时;是将其排序整理为如下类似格式:
content_left>DIV:nth-of-type(1)>DIV:nth-of-type(1)>DIV:nth-of-type(2),根据其类似格式,提取其CSS选择器特征,找出其唯一CSS选择器。
其中,由于HTML页面中的元素就是通过CSS选择器进行控制的,通过元素在不同父元素的子元素中同标签的排序,可以提取同标签的CSS选择器特征,从而得到IE浏览器元素唯一的CSS选择器,通过唯一的CSS选择器实现对IE浏览器元素的定位;使用CSS选择器实现对IE浏览器元素的定位可以通过现有技术手段实现。
本发明通过移动鼠标的方式,根据鼠标位置所在HTML元素,向上查找其父元素,获取该元素在父元素的子元素中同标签的排序,根据同标签的排序,自动提取IE浏览器元素CSS特征,从而根据CSS选择器实现对IE浏览器元素的定位,通过计算机程序进行定位,定位操作方便快捷。
以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于CSS选择器的IE浏览器元素定位方法,其特征在于,包括如下步骤:
步骤S1:拦截鼠标事件,并将鼠标移动到窗体上时,触发WM_MOUSEHOVER事件,并在响应处理HOVER事件时,获取当前鼠标坐标点下的窗口类名;
步骤S2:判断获取的窗口类名是否为“Internet Explorer_Server”,是则进行步骤S3,否则返回重复步骤S1;
步骤S3:根据窗口类名中窗口ID值获取IHtmlDocument2接口的COM指针;并且,根据IHtmlDocument2接口获取鼠标位置所在HTML元素;
步骤S4:根据鼠标位置所在HTML元素,向上查找其父元素,获取该元素在父元素的子元素中同标签的排序;
步骤S5:重复6步骤,直到查找的父元素存在合法ID值或标签为<html>;
步骤S6:整理所有获取到的该元素在父元素的子元素中同标签的排序;根据其排序,提取其CSS选择器特征,找出其唯一CSS选择器,根据该CSS选择器实现对IE浏览器元素的定位。
2.根据权利要求1所述的基于CSS选择器的IE浏览器元素定位方法,其特征在于:在所述步骤S1中,是通过windows***的消息拦截技术,拦截鼠标事件。
3.根据权利要求1所述的基于CSS选择器的IE浏览器元素定位方法,其特征在于:步骤S6中:在整理所有获取到的该元素在父元素的子元素中同标签的排序时;是将其排序整理为如下类似格式:content_left>DIV:nth-of-type(1)>DIV:nth-of-type(1)>DIV:nth-of-type(2),根据其类似格式,提取其CSS选择器特征,找出其唯一CSS选择器。
CN202210205261.1A 2022-03-02 2022-03-02 一种基于css选择器的ie浏览器元素定位方法 Pending CN114579025A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210205261.1A CN114579025A (zh) 2022-03-02 2022-03-02 一种基于css选择器的ie浏览器元素定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210205261.1A CN114579025A (zh) 2022-03-02 2022-03-02 一种基于css选择器的ie浏览器元素定位方法

Publications (1)

Publication Number Publication Date
CN114579025A true CN114579025A (zh) 2022-06-03

Family

ID=81771975

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210205261.1A Pending CN114579025A (zh) 2022-03-02 2022-03-02 一种基于css选择器的ie浏览器元素定位方法

Country Status (1)

Country Link
CN (1) CN114579025A (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003040955A1 (en) * 2001-11-06 2003-05-15 Farooq Khan Method and apparatus for capturing and displaying web page information
US20120173967A1 (en) * 2010-12-30 2012-07-05 Opera Software Asa Method and device for cascading style sheet (css) selector matching
CN103019925A (zh) * 2011-09-26 2013-04-03 阿里巴巴集团控股有限公司 选择器获取方法及装置
CN103164195A (zh) * 2011-12-13 2013-06-19 阿里巴巴集团控股有限公司 基于浏览器的选择器表现方法及装置
US9626080B1 (en) * 2013-12-19 2017-04-18 EMC IP Holding Company LLC Style configuration mode
US20200042578A1 (en) * 2018-08-01 2020-02-06 Citrix Systems, Inc. Document Object Model (DOM) Element Location Platform
US20200293592A1 (en) * 2018-10-25 2020-09-17 Sanjay Kumar Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors
US20210049234A1 (en) * 2019-08-15 2021-02-18 Kumar ANIL Web Element Rediscovery System and Method
US20210390011A1 (en) * 2018-10-02 2021-12-16 Tamas Cser Software testing

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003040955A1 (en) * 2001-11-06 2003-05-15 Farooq Khan Method and apparatus for capturing and displaying web page information
US20120173967A1 (en) * 2010-12-30 2012-07-05 Opera Software Asa Method and device for cascading style sheet (css) selector matching
CN103019925A (zh) * 2011-09-26 2013-04-03 阿里巴巴集团控股有限公司 选择器获取方法及装置
CN103164195A (zh) * 2011-12-13 2013-06-19 阿里巴巴集团控股有限公司 基于浏览器的选择器表现方法及装置
US9626080B1 (en) * 2013-12-19 2017-04-18 EMC IP Holding Company LLC Style configuration mode
US20200042578A1 (en) * 2018-08-01 2020-02-06 Citrix Systems, Inc. Document Object Model (DOM) Element Location Platform
US20210390011A1 (en) * 2018-10-02 2021-12-16 Tamas Cser Software testing
US20200293592A1 (en) * 2018-10-25 2020-09-17 Sanjay Kumar Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors
US20210049234A1 (en) * 2019-08-15 2021-02-18 Kumar ANIL Web Element Rediscovery System and Method

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
I_LINDA: "CSS选择器", pages 1 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/qq_34713831/article/details/100064446> *
浪里狼: "获取IWebBrowser2指针的方法(一)", pages 1 - 3, Retrieved from the Internet <URL:https://blog.csdn.net/a1009563517/article/details/53320929> *

Similar Documents

Publication Publication Date Title
US8065667B2 (en) Injecting content into third party documents for document processing
US20190213114A1 (en) Apparatus and application interface traversing method
US20080229240A1 (en) Finding Pages Based on Specifications of Locations of Keywords
WO2022076488A3 (en) Method and system for extraction of data from documents for robotic process automation
US9563611B2 (en) Merging web page style addresses
JP6827116B2 (ja) ウェブページのクラスタリング方法及び装置
CN102664925B (zh) 一种展现搜索结果的方法及装置
US20100058239A1 (en) System and method for accelerated web page navigation using keyboard accelerators in a data processing system
CN105095441A (zh) 一种信息获取方法及装置
CN113051514B (zh) 元素的定位方法、装置、电子设备及存储介质
CN112380847B (zh) 兴趣点处理方法、装置、电子设备及存储介质
US11403078B2 (en) Interface layout interference detection
CN106911694B (zh) 一种基于android漏洞知识库自动更新的方法
CN112818200A (zh) 基于静态网站的数据爬取及事件分析方法及***
CN114579025A (zh) 一种基于css选择器的ie浏览器元素定位方法
Barbaresi htmldate: A Python package to extract publication dates from web pages
CN105138708A (zh) 一种兴趣点名称的识别方法和装置
CN110989991A (zh) 检测应用程序中源代码克隆开源软件的方法及***
CN109948015B (zh) 一种元搜索列表结果抽取方法及***
Tanaka X-brot: Prototyping of compatibility testing tool for web application based on document analysis technology
US20120284224A1 (en) Build of website knowledge tables
CN105843826A (zh) 一种查找方法和装置
CN112445468A (zh) Typescript类型文件生成方法、装置、设备及计算机可读存储介质
CN110020366A (zh) 邮箱信息抽取方法及装置
US11783116B2 (en) Resembling transition identifying apparatus, resembling transition identifying method and program

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