【问题标题】:Unable to select mouse over elements in Selenium Webdriver Java无法在 Selenium Webdriver Java 中选择鼠标悬停在元素上
【发布时间】:2014-03-18 19:32:03
【问题描述】:
我正在使用 selenium webdriver 和 java 自动化 Web 应用程序。它几乎没有鼠标悬停在我无法自动化的元素上。当我在 Selenium IDE 中录制和播放时,鼠标悬停效果很好,新可见的元素可以正确定位,但是当我在 eclipse 中运行时同样不起作用。我之前已经自动化了类似的鼠标悬停在元素上,但在自动化方面遇到了困难。我附上了 Web 应用程序的屏幕截图和鼠标悬停元素的代码,在这里我无法将鼠标悬停在“配置”菜单上并选择“配置层次结构元数据”。如果有人能在这方面帮助我,那就太好了!让我知道是否需要更多详细信息。
提前致谢。
【问题讨论】:
标签:
java
javascript
selenium
selenium-webdriver
mouseover
【解决方案1】:
这是一个很常见的问题。您需要确保您正在与具有悬停侦听器的元素进行交互..
在这种情况下,看起来是 <a> 正在接收悬停。尝试移动到元素(悬停):
By.cssSelector("ul.topmenu li:nth-child(2) > a[title='Configurations']");
【解决方案2】:
为了实现这一点,您首先必须将鼠标悬停在元素(比如 - element1)上,这使得元素被点击(比如 - element2)可见,然后点击列表中的选项 -
Actions actions = new Actions(driver);
actions.moveToElement(element1).moveToElement(element2).click(element2).build().perform();