java - Firefox 中的 webdriver 鼠标悬停停止工作

标签 java firefox webdriver mousehover

我测试的应用程序中有几个菜单需要将鼠标悬停在顶部菜单项上,才能显示菜单的其余部分(将其下拉)。

顶部菜单项如下所示:

<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/

相关文章:

java - 如何在 Activity 中列出getView中的 Realm 列表?

java - 在循环之前设置一个整数值

java - JPA 处理没有外键的关系

java - WebDriver - 如何在不修改的情况下获取已打开的页面

javascript - 为什么 selenium findElement(By.css ("span:contains(string)") 不工作?

java - 如何使用 jsp/servlet/javascript 创建具有放置在服务器文件夹中的图像的幻灯片效果的照片库

css - Manipulate::selection 开发者工具中的伪元素

javascript - window.addEventListener ("load",在页面加载时不起作用

javascript - FireFox 阻止内容

selenium - 之前配置的 ChromeDriver 服务仍在运行/使用 Grunt 运行 Webdriver 测试