有没有办法使用 Selenium 来查找所有鼠标悬停在页面上时会以某种方式改变页面的元素? (例如触发下拉菜单、工具提示文本或只是简单地更改链接颜色)
我能想到的唯一方法是在页面加载后立即获取基线屏幕截图,然后循环浏览页面上的每个元素,将鼠标悬停在其上,并获取另一个屏幕截图以与基线进行比较。
编辑:您基本上正在寻找具有 :hover CSS 属性或 onMouseOver javascript 事件的所有元素,但由于该信息通常在 HTML 中不可用,因此我不确定 XPath 是否可以提供帮助。
最佳答案
我在问自己the same question我得出的结论(因为我不太了解 Web 开发)是我最好的选择是修改 Visual Event 2 以从网页获取所有 Javascript 事件。这确实有效,但我没有得到任何其他答案,所以我认为这是唯一的方法。如果您希望我分享我的代码,请告诉我,因为找到应该修改 Visual Event 2 的位置以便您可以访问其事件对象是一件很棘手的事情。
关于java - 使用Selenium查找网页上所有 "hoverable"元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077662/