鼠标悬停后,移出悬浮框,悬浮框就消失了,里面的元素也跟着消失了,但是在悬浮框内元素就显示,移出就消失,这怎么定位
悬浮框是否显示一般由样式: display: none 控制的吧,实际源码中该元素还是存在的吧
首先我们可以从开发的角度想一下:如何实现“鼠标悬浮到某个元素上时显式内容,离开就隐藏?”
最简单的方式就是通过mouseover事件实现
其原理是这样的:
鼠标移动到元素上方--> 触发mouseover事件 --> 执行js代码,把内容显式出来
明白原理之后,方法自然就来了
在selenium中定位到元素后,可以获取该元素的坐标(x,y )
同时。在selenium中,可以控制鼠标的移(x, y)
移动鼠标的目的是为了触发事件,那么可以不可以直接触发呢?
当 然 可 以
获取元素对象后,执行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) // 指定的元素上触发该事件
如有帮助还请及时采纳,追问可关注公众号:测试开发研习社