CN112882625A - 元素拾取方法、装置、计算机设备和存储介质 - Google Patents

元素拾取方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112882625A
CN112882625A CN202110184625.8A CN202110184625A CN112882625A CN 112882625 A CN112882625 A CN 112882625A CN 202110184625 A CN202110184625 A CN 202110184625A CN 112882625 A CN112882625 A CN 112882625A
Authority
CN
China
Prior art keywords
target
mask window
mouse
mouse pointer
target element
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
Application number
CN202110184625.8A
Other languages
English (en)
Other versions
CN112882625B (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.)
Nanjing Suning Software Technology Co ltd
Original Assignee
Nanjing Suning Software 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 Nanjing Suning Software Technology Co ltd filed Critical Nanjing Suning Software Technology Co ltd
Priority to CN202110184625.8A priority Critical patent/CN112882625B/zh
Publication of CN112882625A publication Critical patent/CN112882625A/zh
Priority to CA3148419A priority patent/CA3148419A1/en
Application granted granted Critical
Publication of CN112882625B publication Critical patent/CN112882625B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0489Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
    • G06F3/04892Arrangements for controlling cursor position based on codes indicative of cursor displacements from one discrete location to another, e.g. using cursor control keys associated to different directions or using the tab key
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)

Abstract

本申请涉及一种元素拾取方法、装置、计算机设备和存储介质。所述方法包括:获取鼠标指针的位置信息,根据位置信息确定目标元素;根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。采用本方法能够在确保遮罩窗口的保护功能得以实现的情况下,提升遮罩窗口显示的稳定性。

Description

元素拾取方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种元素拾取方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,出现了元素拾取技术,元素拾取是RPA(Robotic ProcessAutomation,机器人流程自动化)设计中的重要环节。
传统的元素拾取方法,一般采用元素定位以及遮罩的形式实现,即通过元素定位能力获取当前鼠标所在位置上的元素,通过遮罩窗口对该元素的范围进行遮罩,一方面提示用户当前定位到的元素的范围,另一方面,当用户通过点击鼠标来触发确认拾取该元素的指令时,遮罩窗口用于承载鼠标点击事件,因此,可以保护遮罩下的元素不被用户的鼠标点击事件所触发。
然而,遮罩窗口的存在,虽然可以在用户点击鼠标进行确认时对其下的元素进行保护,但是也阻碍了鼠标指针对其下的其他元素的拾取操作,因此,传统的做法是,只要检测到鼠标发生移动时,遮罩窗口都会从展示状态切换至隐藏状态,无论鼠标移动后再次获取的元素是否相同。当鼠标移动时,由于遮罩窗口反复不断在显示状态和隐藏状态之间切换,屏幕会出现闪烁,在元素拾取过程中不能很好地维持稳定显示,从而造成了用户视觉感官效果的欠佳。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在确保遮罩窗口下层元素不被触发的情况下,避免遮罩窗口的闪烁,提升遮罩窗口显示稳定性的元素拾取方法、装置、计算机设备和存储介质。
一种元素拾取方法,上述方法包括:
获取鼠标指针的位置信息,根据位置信息确定目标元素;
根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;
当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;
在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。
在一个实施例中,上述方法还包括:当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素发生改变,删除已生成的遮罩窗口,将新拾取到的元素作为目标元素,返回根据目标元素生成对应的目标遮罩窗口的步骤。
在一个实施例中,根据目标元素生成对应的目标遮罩窗口,包括:获取目标元素在显示界面中的显示范围信息,根据显示范围信息绘制与目标元素的显示范围相匹配的目标遮罩窗口。
在一个实施例中,目标遮罩窗口为半透明的遮罩窗口。
在一个实施例中,方法还包括:当通过键盘钩子拦截到由表征确认拾取的快捷键触发的键盘事件时,完成对目标元素的拾取。
在一个实施例中,在获取鼠标指针的位置信息之前,方法还包括:获取当前操作系统的系统环境信息;在系统环境信息对应的当前操作系统能够启动鼠标钩子时,进入获取鼠标指针的位置信息的步骤。
在一个实施例中,上述方法还包括:在系统环境信息对应的当前操作系统不能够启动鼠标钩子时,更改遮罩窗口的生成设置;其中,遮罩窗口的生成设置更改之后,根据确定的元素所生成的遮罩窗口不允许鼠标事件穿透。
一种元素拾取装置,上述装置包括:
目标元素获取模块,用于获取鼠标指针的位置信息,根据位置信息确定目标元素;
遮罩窗口生成模块,用于根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;
遮罩窗口显示模块,用于当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;
鼠标事件捕捉模块,用于在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的元素拾取方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的元素拾取方法的步骤。
上述元素拾取方法、装置、计算机设备和存储介质,根据鼠标指针定位的元素生成对应的遮罩窗口,遮罩窗口允许鼠标事件穿透,也即是遮罩窗口视觉上存在但逻辑上并不存在,因此,在鼠标位置移动时,遮罩窗口不会阻挡鼠标指针对其下方其他元素的拾取。一方面,在当前确定出的元素没有发生改变时,可以维持遮罩窗口稳定显示,没有必要在鼠标一发生移动就切换遮罩窗口至隐藏状态。另一方面,当用户根据遮罩窗口的提示而确认拾取当前元素时,通过鼠标钩子捕捉表征确认拾取的鼠标点击事件,从而可以防止点击事件穿透遮罩窗口触发下层元素。采用本方法,在确保遮罩窗口对下层元素的保护功能得以实现的情况下,可以有效提升遮罩窗口显示的稳定性。
附图说明
图1为一个实施例中元素拾取方法的应用环境图;
图2为一个实施例中元素拾取方法的流程示意图;
图3为一个应用实例中元素拾取方法的流程示意图;
图4为一个应用实例中根据鼠标指针的当前位置确定到第一目标元素并对其范围进行遮罩的效果示意图;
图5为一个应用实例中根据鼠标指针的当前位置确定到第二目标元素并对其范围进行遮罩的效果示意图;
图6为一个应用实例中根据鼠标指针的当前位置确定到第三目标元素并对其范围进行遮罩的效果示意图;
图7为一个实施例中元素拾取装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请提供的元素拾取方法,可以应用于如图1所示的应用环境中。其中,终端102在接收到用户触发的开始进行元素拾取的指令时,获取鼠标指针的位置信息,根据位置信息确定目标元素;根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种元素拾取方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤S202:获取鼠标指针的位置信息,根据位置信息确定目标元素。
其中,鼠标指针是为了在图形界面上标识出鼠标的位置而产生的,它可以采用不同的形式来表示不同的状态。目标元素是指根据鼠标指针的位置信息进行定位后获取到的界面元素。
具体地,终端可以在用户触发表征开始拾取的指令时,启动元素拾取程序,元素拾取程序启动后,终端可以获取鼠标指针当前所处位置的位置信息,根据位置信息确定该位置上对应的界面元素,将确定出的界面元素作为目标元素。
步骤S204:根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透。
其中,遮罩窗口是指弹出的能够实现对下层元素进行遮盖的遮罩层,可以用于提示当前确定的元素在显示界面中的位置及其显示范围等。目标遮罩窗口为对目标元素进行提示的遮罩窗口。目标遮罩窗口可以设置为穿透模式,也即是视觉上弹出窗口,但逻辑上该层窗口并不存在,穿透模式的目标遮罩窗口允许鼠标点击事件穿透,即发生在目标遮罩窗口上的鼠标点击、鼠标指针定位等操作会穿透目标遮罩窗口直接作用在窗口下层的界面元素上。
具体地,终端可以根据鼠标指针定位的目标元素生成与该目标元素相匹配的遮罩窗口并将其作为目标遮罩窗口,目标遮罩窗口可以通过遮盖目标元素的方式弹出在显示界面上,用于提示当前定位到的目标元素是哪一个、目标元素在显示界面中的显示范围是多大等。生成的目标遮罩窗口为穿透模式,可以实现提示的目的,但不会对鼠标操作事件进行拦截,鼠标指针仍可以穿透遮罩窗口落入遮罩窗口下层的界面。
步骤S206:当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态。
具体地,元素拾取程序启动后,在没有接收到用户通过鼠标点击事件触发的确认拾取的指令时,当前的拾取操作会继续进行,并可能随着鼠标指针位置的移动改变拾取对象。传统技术中,如果不把遮罩窗口切换至隐藏状态,遮罩窗口将遮挡鼠标指针对于其下层的其他界面元素的定位和拾取。本方案由于生成的目标遮罩窗口允许鼠标事件穿透,因此,即使鼠标指针移动,只要当前确定出的元素没有发生改变,就可以维持目标遮罩窗口呈现显示状态,既不会反复切换显示状态(即,不会出现因显示状态反复切换带来的遮罩窗口闪烁的问题),也不会影响鼠标指针对于下层其他界面元素的拾取操作。
步骤S208:在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。
其中,鼠标钩子为消息钩子的一种,可以用于截获鼠标消息,应用程序能够设置相应的钩子监视系统里的消息传递,在这些消息到达目标窗口程序之前处理它们。
具体地,可以通过设置鼠标钩子线程(子线程)对用户触发的鼠标点击事件的消息进行拦截,防止该鼠标点击的消息传递到下层的界面元素上,在捕捉到鼠标点击事件的消息后,将根据鼠标指针当前位置确定出的目标元素作为拾取对象进行拾取,拾取完成后进一步地可以结束本次拾取操作的进程。
上述元素拾取方法,根据鼠标指针定位的元素生成对应的遮罩窗口,遮罩窗口允许鼠标事件穿透,也即是遮罩窗口视觉上存在但逻辑上并不存在,因此,在鼠标位置移动时,遮罩窗口不会阻挡鼠标指针对其下方其他元素的拾取。一方面,在当前确定出的元素没有发生改变时,可以维持遮罩窗口稳定显示,没有必要在鼠标一发生移动就切换遮罩窗口至隐藏状态。另一方面,当用户根据遮罩窗口的提示而确认拾取当前元素时,通过鼠标钩子捕捉表征确认拾取的鼠标点击事件,从而可以防止点击事件穿透遮罩窗口触发下层元素。采用本方法,在确保遮罩窗口保护下方元素不被触发的功能得以实现的情况下,可以有效提升遮罩窗口显示的稳定性。
在一个实施例中,上述方法还包括:当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素发生改变,删除已生成的遮罩窗口,将新拾取到的元素作为目标元素,返回根据目标元素生成对应的目标遮罩窗口的步骤。
在本实施例中,随着鼠标指针的移动,若根据鼠标指针的当前位置所确定的元素发生改变,遮罩窗口的样式也会随着元素的改变而发生相应改变,从而保证遮罩窗口可以准确地提示当前的目标对象。例如,若先选中一个包含较多内容层级的容器元素,然后鼠标慢慢往该容器元素的中心移动,随着鼠标位置的变化,鼠标由外至内定位各层级的元素,遮罩层(遮罩窗口)慢慢地从大到小,直到鼠标停止移动。这样一来,遮罩的效果仅会由于定位到的元素的变化而发生范围的改变,视觉上会呈现一种很自然的图形过渡状态,不会出现遮罩窗口不断闪烁的视觉效果。
在一个实施例中,根据目标元素生成对应的目标遮罩窗口,包括:获取目标元素在显示界面中的显示范围信息,根据显示范围信息绘制与目标元素的显示范围相匹配的目标遮罩窗口。
在本实施例中,显示范围信息是指表征元素在当前显示界面中的范围的信息,可以包括元素在当前显示界面中的位置信息、尺寸信息等,终端可以根据鼠标定位到的目标元素在当前显示界面中的显示范围来绘制尺寸、样式等匹配目标元素的遮罩,匹配的遮罩窗口能够对目标元素的范围进行准确遮盖,从而可以有效、清晰地向用户展示当前的目标元素是哪一个,用户可以根据提示进一步对确定出的目标元素进行确认,当用户触发确认拾取指令时,完成本次拾取操作。
在一个实施例中,优选的,目标遮罩窗口可以呈半透明的显示效果。通过将目标遮罩窗口设置为半透明的遮罩窗口,可以在向用户提示目标元素范围的同时不完全遮挡该目标元素,用户通过这样的显示效果可以更准确地做出是否确认拾取的判断。在本发明实施例中,将透明程度分为全透明、半透明和不透明,全透明即100%的透明程度,目标遮罩窗口对目标元素完全无遮挡;不透明即0%的透明程度,目标遮罩窗口完全遮挡目标元素;介于全透明和不透明之间的透明程度为半透明。
在一个实施例中,上述方法还包括:当通过键盘钩子拦截到由表征确认拾取的快捷键触发的键盘事件时,完成对目标元素的拾取。
在本实施例中,由于遮罩窗口为穿透模式,因此,键盘事件也会穿透遮罩窗口到达目标元素所在的界面。为了防止用于指示确认拾取的键盘消息穿透遮罩窗口作用于下层元素,可以通过键盘钩子拦截由表征确认拾取的快捷键所触发的键盘事件,在拦截到该键盘事件的消息后,完成对目标元素的拾取操作。
在一个实施例中,在获取鼠标指针的位置信息之前,上述方法还包括:在获取鼠标指针的位置信息之前,方法还包括:获取当前操作系统的系统环境信息;在系统环境信息对应的当前操作系统能够启动鼠标钩子时,进入获取鼠标指针的位置信息的步骤。
在本实施例中,由于有些操作系统可能不支持鼠标钩子,为了进一步提高元素拾取的准确性,本方案可以支持多种拾取方案的扩展。例如,可以同时兼容传统模式的元素拾取方法和上述方案中涉及的元素拾取方法,通过分析操作系统的系统环境,在当前的系统环境适用本方案涉及的元素拾取方法时启用本方案,否则启用其他方案进行拾取,因此,即使在系统环境不适用的情况下,仍可以避免拾取失败,保证拾取准确性。
在一个实施例中,上述方法还包括:在系统环境信息对应的当前操作系统不能够启动鼠标钩子时,更改遮罩窗口的生成设置;其中,遮罩窗口的生成设置更改之后,根据确定的元素所生成的遮罩窗口不允许鼠标事件穿透。
进一步地,结合上述实施例,如果当前的系统环境不支持鼠标钩子,则可以在元素拾取开始之前更改有关生成遮罩窗口的初始化设置,更改初始化设置后,生成的遮罩窗口不允许鼠标事件穿透,而且在检测到鼠标移动时会从显示状态切换至隐藏状态。本实施例,通过兼容传统模式的遮罩窗口,可以扩大元素拾取的适用性。
下面,结合一个应用实例,对本方案涉及的元素拾取方法进行进一步说明。参考图3所示,图3示出了一个应用实例中元素拾取方法的逻辑示意图,其中,新模式下的拾取方法具体可以包括如下步骤:
A、元素定位器启动,开始初始化遮罩设定;
B、设定遮罩窗口样式为允许穿透;
C、关闭旧模式中的鼠标移动监控模块,此模块在监控到鼠标移动时会隐藏遮罩窗口,在遮罩窗口隐藏后开始元素拾取,获取到元素后再显示遮罩窗口,循环往复,直到鼠标停止移动;
D、启动鼠标钩子拦截;
E、鼠标移动时根据定位到的元素得到元素范围,更新遮罩样式;
F、用户触发确定拾取时,通知定位器完成对该元素的拾取操作并结束拾取线程。
参考图4至图6,图4示出了一个应用实例中根据鼠标指针的当前位置确定出第一目标元素并对其范围进行遮罩的效果示意图;图5示出了一个应用实例中根据鼠标指针的当前位置确定出第二目标元素并对其范围进行遮罩的效果示意图;图6示出了一个应用实例中根据鼠标指针的当前位置确定出第三目标元素并对其范围进行遮罩的效果示意图。从图中可以看出遮罩窗口402、遮罩窗口502以及遮罩窗口602的样式随着拾取元素的不同而发生相应改变。
应该理解的是,虽然图2-3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种元素拾取装置,包括:目标元素获取模块710、遮罩窗口生成模块720、遮罩窗口显示模块730和鼠标事件捕捉模块740,其中:
目标元素获取模块710,用于获取鼠标指针的位置信息,根据位置信息确定目标元素;
遮罩窗口生成模块720,用于根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;
遮罩窗口显示模块730,用于当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;
鼠标事件捕捉模块740,用于在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。
在一个实施例中,遮罩窗口显示模块730,还用于当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素发生改变,删除已生成的遮罩窗口,将新拾取到的元素作为目标元素,返回根据目标元素生成对应的目标遮罩窗口的步骤。
在一个实施例中,遮罩窗口生成模块720获取目标元素在显示界面中的显示范围信息,根据显示范围信息绘制与目标元素的显示范围相匹配的目标遮罩窗口。
在一个实施例中,遮罩窗口生成模块720生成半透明的目标遮罩窗口。
在一个实施例中,鼠标事件捕捉模块740,还用于当通过键盘钩子拦截到由表征确认拾取的快捷键触发的键盘事件时,完成对目标元素的拾取。
在一个实施例中,目标元素获取模块710,还用于获取当前操作系统的系统环境信息;在系统环境信息对应的当前操作系统能够启动鼠标钩子时,进入获取鼠标指针的位置信息的步骤。
在一个实施例中,目标元素获取模块710,还用于若否,在系统环境信息对应的当前操作系统不能够启动鼠标钩子时,更改遮罩窗口的生成设置;其中,遮罩窗口的生成设置更改之后,根据确定的元素所生成的遮罩窗口不允许鼠标事件穿透。
关于元素拾取装置的具体限定可以参见上文中对于元素拾取方法的限定,在此不再赘述。上述元素拾取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种元素拾取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取鼠标指针的位置信息,根据位置信息确定目标元素;根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素发生改变,删除已生成的遮罩窗口,将新拾取到的元素作为目标元素,返回根据目标元素生成对应的目标遮罩窗口的步骤。
在一个实施例中,处理器执行计算机程序实现根据目标元素生成对应的目标遮罩窗口时,具体实现获取目标元素在显示界面中的显示范围信息,根据显示范围信息绘制与目标元素的显示范围相匹配的目标遮罩窗口。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当通过键盘钩子拦截到由表征确认拾取的快捷键触发的键盘事件时,完成对目标元素的拾取。
在一个实施例中,处理器执行计算机程序实现获取鼠标指针的位置信息之前,还实现以下步骤:获取当前操作系统的系统环境信息;在系统环境信息对应的当前操作系统能够启动鼠标钩子时,进入获取鼠标指针的位置信息的步骤。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在系统环境信息对应的当前操作系统不能够启动鼠标钩子时,更改遮罩窗口的生成设置;其中,遮罩窗口的生成设置更改之后,根据确定的元素所生成的遮罩窗口不允许鼠标事件穿透。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取鼠标指针的位置信息,根据位置信息确定目标元素;根据目标元素生成对应的目标遮罩窗口,将目标遮罩窗口在显示界面进行显示,目标遮罩窗口用于提示目标元素的显示范围,目标遮罩窗口允许鼠标事件穿透;当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,目标遮罩窗口维持显示状态;在通过鼠标钩子捕捉到鼠标点击事件时,完成对目标元素的拾取。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素发生改变,删除已生成的遮罩窗口,将新拾取到的元素作为目标元素,返回根据目标元素生成对应的目标遮罩窗口的步骤。
在一个实施例中,计算机程序被处理器执行实现根据目标元素生成对应的目标遮罩窗口时,具体实现获取目标元素在显示界面中的显示范围信息,根据显示范围信息绘制与目标元素的显示范围相匹配的目标遮罩窗口。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当通过键盘钩子拦截到由表征确认拾取的快捷键触发的键盘事件时,完成对目标元素的拾取。
在一个实施例中,计算机程序被处理器执行实现获取鼠标指针的位置信息之前,还实现以下步骤:获取当前操作系统的系统环境信息;在系统环境信息对应的当前操作系统能够启动鼠标钩子时,进入获取鼠标指针的位置信息的步骤。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在系统环境信息对应的当前操作系统不能够启动鼠标钩子时,更改遮罩窗口的生成设置;其中,遮罩窗口的生成设置更改之后,根据确定的元素所生成的遮罩窗口不允许鼠标事件穿透。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种元素拾取方法,所述方法包括:
获取鼠标指针的位置信息,根据所述位置信息确定目标元素;
根据所述目标元素生成对应的目标遮罩窗口,将所述目标遮罩窗口在显示界面进行显示,所述目标遮罩窗口用于提示所述目标元素的显示范围,所述目标遮罩窗口允许鼠标事件穿透;
当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,所述目标遮罩窗口维持显示状态;
在通过鼠标钩子捕捉到鼠标点击事件时,完成对所述目标元素的拾取。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素发生改变,删除已生成的遮罩窗口,将新拾取到的元素作为所述目标元素,返回所述根据所述目标元素生成对应的目标遮罩窗口的步骤。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标元素生成对应的目标遮罩窗口,包括:
获取所述目标元素在所述显示界面中的显示范围信息,根据所述显示范围信息绘制与所述目标元素的显示范围相匹配的目标遮罩窗口。
4.根据权利要求1所述的方法,其特征在于,所述目标遮罩窗口为半透明的遮罩窗口。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当通过键盘钩子拦截到由表征确认拾取的快捷键触发的键盘事件时,完成对所述目标元素的拾取。
6.根据权利要求1至5任意一项所述的方法,其特征在于,在所述获取鼠标指针的位置信息之前,所述方法还包括:
获取当前操作系统的系统环境信息;
在所述系统环境信息对应的当前操作系统能够启动鼠标钩子时,进入所述获取鼠标指针的位置信息的步骤。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
在所述系统环境信息对应的当前操作系统不能够启动鼠标钩子时,更改遮罩窗口的生成设置;其中,遮罩窗口的生成设置更改之后,根据确定的元素所生成的遮罩窗口不允许鼠标事件穿透。
8.一种元素拾取装置,其特征在于,所述装置包括:
目标元素获取模块,用于获取鼠标指针的位置信息,根据所述位置信息确定目标元素;
遮罩窗口生成模块,用于根据所述目标元素生成对应的目标遮罩窗口,将所述目标遮罩窗口在显示界面进行显示,所述目标遮罩窗口用于提示所述目标元素的显示范围,所述目标遮罩窗口允许鼠标事件穿透;
遮罩窗口显示模块,用于当鼠标指针移动时,若根据鼠标指针的当前位置确定的元素没有发生改变,所述目标遮罩窗口维持显示状态;
鼠标事件捕捉模块,用于在通过鼠标钩子捕捉到鼠标点击事件时,完成对所述目标元素的拾取。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110184625.8A 2021-02-10 2021-02-10 元素拾取方法、装置、计算机设备和存储介质 Active CN112882625B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202110184625.8A CN112882625B (zh) 2021-02-10 2021-02-10 元素拾取方法、装置、计算机设备和存储介质
CA3148419A CA3148419A1 (en) 2021-02-10 2022-02-10 Element picking-up method, device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110184625.8A CN112882625B (zh) 2021-02-10 2021-02-10 元素拾取方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112882625A true CN112882625A (zh) 2021-06-01
CN112882625B CN112882625B (zh) 2022-05-17

Family

ID=76057583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110184625.8A Active CN112882625B (zh) 2021-02-10 2021-02-10 元素拾取方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN112882625B (zh)
CA (1) CA3148419A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063846A (zh) * 2021-11-12 2022-02-18 深圳市网旭科技有限公司 窗口控制方法、装置、设备及存储介质
CN114153530A (zh) * 2022-02-08 2022-03-08 广州庚亿信息科技有限公司 元素数据信息捕获方法、装置、存储介质及智能终端
CN115079887A (zh) * 2022-08-18 2022-09-20 北京麟卓信息科技有限公司 一种桌面系统上安卓应用键盘映射辅助提示的显示方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116630990B (zh) * 2023-07-21 2023-10-10 杭州实在智能科技有限公司 Rpa流程元素路径智能修复方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040240877A1 (en) * 2003-05-30 2004-12-02 Kabushiki Kaisha Toshiba. Image pickup apparatus, image pickup system, and image pickup method
CN104820558A (zh) * 2015-05-11 2015-08-05 北京白鹭时代信息技术有限公司 一种拾取被遮挡图像的方法及装置
CN107589890A (zh) * 2017-10-27 2018-01-16 青岛海信电器股份有限公司 一种鼠标点击被遮挡视图的响应方法及装置
CN111078339A (zh) * 2019-11-29 2020-04-28 苏宁云计算有限公司 界面元素定位方法、装置、计算机设备和存储介质
CN111090797A (zh) * 2019-11-29 2020-05-01 苏宁云计算有限公司 数据获取方法、装置、计算机设备和存储介质
CN112101357A (zh) * 2020-11-03 2020-12-18 杭州实在智能科技有限公司 一种rpa机器人智能元素定位拾取方法及系统
CN112182468A (zh) * 2020-10-14 2021-01-05 北京新纽科技有限公司 一种兼容客户端界面元素与网页页面元素的定位和解析方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040240877A1 (en) * 2003-05-30 2004-12-02 Kabushiki Kaisha Toshiba. Image pickup apparatus, image pickup system, and image pickup method
CN104820558A (zh) * 2015-05-11 2015-08-05 北京白鹭时代信息技术有限公司 一种拾取被遮挡图像的方法及装置
CN107589890A (zh) * 2017-10-27 2018-01-16 青岛海信电器股份有限公司 一种鼠标点击被遮挡视图的响应方法及装置
CN111078339A (zh) * 2019-11-29 2020-04-28 苏宁云计算有限公司 界面元素定位方法、装置、计算机设备和存储介质
CN111090797A (zh) * 2019-11-29 2020-05-01 苏宁云计算有限公司 数据获取方法、装置、计算机设备和存储介质
CN112182468A (zh) * 2020-10-14 2021-01-05 北京新纽科技有限公司 一种兼容客户端界面元素与网页页面元素的定位和解析方法
CN112101357A (zh) * 2020-11-03 2020-12-18 杭州实在智能科技有限公司 一种rpa机器人智能元素定位拾取方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114063846A (zh) * 2021-11-12 2022-02-18 深圳市网旭科技有限公司 窗口控制方法、装置、设备及存储介质
CN114153530A (zh) * 2022-02-08 2022-03-08 广州庚亿信息科技有限公司 元素数据信息捕获方法、装置、存储介质及智能终端
CN115079887A (zh) * 2022-08-18 2022-09-20 北京麟卓信息科技有限公司 一种桌面系统上安卓应用键盘映射辅助提示的显示方法
CN115079887B (zh) * 2022-08-18 2022-10-25 北京麟卓信息科技有限公司 一种桌面系统上安卓应用键盘映射辅助提示的显示方法

Also Published As

Publication number Publication date
CN112882625B (zh) 2022-05-17
CA3148419A1 (en) 2022-08-10

Similar Documents

Publication Publication Date Title
CN112882625B (zh) 元素拾取方法、装置、计算机设备和存储介质
CN106484483B (zh) 一种应用程序界面显示方法及移动终端
CN110020323B (zh) 混合应用的页面切换方法、系统、计算机设备及存储介质
CN110417988B (zh) 一种界面显示方法、装置及设备
CN108376094B (zh) 通知消息显示方法、装置、计算机设备和存储介质
CN110874166B (zh) 页面切换方法、装置、存储介质及计算机设备
CN104765559A (zh) 一种防误操作的方法
CN106951335A (zh) 一种进程守护方法和移动终端
CN108848142A (zh) 消息推送方法、装置、计算机设备和存储介质
CN106557259B (zh) 一种移动终端的操作方法及移动终端
CN111580730B (zh) 应用程序的后台显示方法、电子设备及存储介质
CN109840199A (zh) 一种自动化测试方法及终端
CN111176543A (zh) 实现电子签名的方法、装置、计算机设备和存储介质
CN114518926A (zh) 通知消息显示方法、装置、电子设备及介质
CN112416236A (zh) 基于web页面的手势封装、交互方法、设备和存储介质
CN106445373B (zh) 用于处理用户输入的方法和电子设备
CN110471700A (zh) 图形处理方法、装置、存储介质及电子设备
CN106155870B (zh) 一种终端的优化处理方法、装置及终端
US8261238B2 (en) Shield for user interface testing
CN113467862A (zh) 桌面快捷方式的生成方法、装置、移动终端和存储介质
CN109189273B (zh) 触控事件处理方法、装置、计算机设备和存储介质
CN110908570B (zh) 图像处理方法、装置、终端及存储介质
CN111190574B (zh) 多级联动组件的选项选择方法、装置、设备和存储介质
CN114168148A (zh) 源文件的处理方法、装置、介质及设备
CN113296799A (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