Selenium(2.29.1)在Firefox下悬停(18.01)

时间:2013-01-25 11:31:32

标签: java selenium hover selenium-webdriver

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

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

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

此方法完全适用于IE(9)和Chrome(最新),但不适用于FireFox(18.01)。 脚本无法看到按钮出现因此无法检查或按下:

  

Assert.assertTrue(“保存按钮丢失!”,   Browser.findElement(By.id( “XXX”))isDisplayed());

我正在使用2.29.1 Selenium。你对FireFox有什么问题有什么想法吗?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

Selenium 2.29不支持firefox 18,因为最新版本未在FF18上测试。如果你将firefox降级到版本,它会工作。即使我遇到FF18问题,但也适用于FF17。

答案 2 :(得分: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();

试试这段代码。