CN114579025A - 一种基于css选择器的ie浏览器元素定位方法 - Google Patents
一种基于css选择器的ie浏览器元素定位方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 17
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction 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/04842—Selection of displayed objects or displayed text elements
-
- 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/957—Browsing 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浏览器元素定位方法。
背景技术
在使用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选择器。
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)
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 |
-
2022
- 2022-03-02 CN CN202210205261.1A patent/CN114579025A/zh active Pending
Patent Citations (9)
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)
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 |