selenium悬浮框元素定位不了

鼠标悬停后,移出悬浮框,悬浮框就消失了,里面的元素也跟着消失了,但是在悬浮框内元素就显示,移出就消失,这怎么定位

悬浮框是否显示一般由样式: display: none 控制的吧,实际源码中该元素还是存在的吧

1. 实现原理

首先我们可以从开发的角度想一下:如何实现“鼠标悬浮到某个元素上时显式内容,离开就隐藏?”

最简单的方式就是通过mouseover事件实现
其原理是这样的:
鼠标移动到元素上方--> 触发mouseover事件 --> 执行js代码,把内容显式出来

2. 解决方法

明白原理之后,方法自然就来了

2.1. 移动鼠标

在selenium中定位到元素后,可以获取该元素的坐标(x,y )
同时。在selenium中,可以控制鼠标的移(x, y)

2.2. 直接触发事件

移动鼠标的目的是为了触发事件,那么可以不可以直接触发呢?
当 然 可 以

获取元素对象后,执行dispatchEvent方法就会触发相应事件
不过此种方法需要有js基础
代码示例

e = document.createEvent('MouseEvents');   //创建新事件
e.initMouseEvent('mouseover',true,true,window,1,12,345,7,220,false,false,true,false,0,null);  //描述事件为mouseover
s.dispatchEvent(e)  // 指定的元素上触发该事件

如有帮助还请及时采纳,追问可关注公众号:测试开发研习社