1

我有一个页面,里面有一张图片。如果我将鼠标悬停在左上角,则会出现一个按钮。我想将该按钮用于几件事(检查、点击等)。

我正在使用这种方法将鼠标悬停在:

    Locatable hoverItem = (Locatable) element;
    Mouse mouse = ((HasInputDevices) driver).getMouse();
    mouse.mouseMove(hoverItem.getCoordinates());

这种方法在 IE (9) 和 Chrome (latest) 下完美运行,但在 FireFox (18.01) 下不行。脚本看不到按钮出现,因此无法检查或按下它:

Assert.assertTrue("保存按钮不见了!", Browser.findElement(By.id("xxx")).isDisplayed());

我正在使用 2.29.1 Selenium。您知道 FireFox 有什么问题吗?

4

3 回答 3

1

我在任何地方都没有看到 java 2.29.1 版本..您使用的是 java 还是 .Net 绑定?2.29 的更改日志说支持 firefox 18,但没有提到原生支持。这可能是一个原因。考虑将 firefox 降级到 17,因为 selenium 2.27 java 版本更改日志显示已为 17 添加了对本机事件的支持。

于 2013-01-25T12:44:53.757 回答
1

Selenium 2.29 在 Firefox 18 上不支持,因为最新版本没有在 FF18 上测试。如果您将 Firefox 降级到版本,它将起作用。甚至我在 FF18 上也遇到了问题,但在 FF17 上工作。

于 2013-01-29T10:31:26.417 回答
0

请确保使用的Firefox版本是稳定版或 Beta 版。如果 Beta 版本更改为稳定版本。最稳定的版本于 2013 年 1 月 18 日发布。

我也用过鼠标悬停。但是,我使用了不同的代码。

我的代码

  //Assume you instantiate the driver instance properly anywhere else
  WebElement elem = driver.findElement(By.id(`IdName`));
  Actions builder = new Actions(driver);
  builder.moveToElement(elem).build().perform();

试试这个代码。

于 2013-01-25T12:03:09.427 回答