我测试的应用程序中有几个菜单需要将鼠标悬停在顶部菜单项上,才能显示菜单的其余部分(将其下拉)。
顶部菜单项如下所示:
<li>
<a href="javascript:void(0)">>
<span>Orders</span>
在过去的 3 或 4 个月里,我一直在使用这些代码行,没有任何问题:
WebElement webElement = driver.findElement(By.xpath("//li/a[span[text()='Orders']]"));
new Actions(driver).moveToElement(webElement).build().perform();
这会将鼠标悬停在“订单”菜单项上,然后允许我选择其中一项下拉项。
我现在使用的是 FF21 和 WebDriver 2.33,悬停不再有效。 “订单”菜单项将悬停在上方,菜单会下拉,但也会立即再次卷起。这会阻止我选择子菜单项。
到目前为止我尝试了什么:
- 在上面的代码之后添加了等待以允许我选择子菜单项: 没用
- 在我使用的 firefox 配置文件中启用 native 事件: 行为没有改变
非常感谢任何帮助,因为我在没有工作菜单系统的情况下已经死在水中了。
顺便说一句:这段代码确实在 IE 中工作,所以它似乎是一个特定于 FF 的问题?
最佳答案
根据 Selenium 的变更日志(https://code.google.com/p/selenium/source/browse/java/CHANGELOG),似乎只有 Firefox 20 才支持 native 事件(因为您正在使用 Actions 类)。 请查看 v2.32.0 的变更日志。有一行:
"This release supports Firefox verions: 10esr, 17esr, 19, 20"
v2.33.0 的变更日志没有任何关于支持 Firefox 21 的内容。
用 Firefox 20 试试你的代码。
关于java - Firefox 中的 webdriver 鼠标悬停停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16919325/