2013-01-25 54 views
1

我有一張帶有圖片的頁面。 如果我將鼠標懸停在鼠標上方,左上角會出現一個按鈕。我想用這個按鈕來做一些事情(檢查,點擊等)。Selenium(2.29.1)將鼠標懸停在Firefox(18.01)上

我使用這個方法懸停:

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

這種方法IE(9)和Chrome(最新的)下而不是火狐(18.01)下完美的工作。 腳本無法看到按鈕出現,因此它不能被選中或按:

Assert.assertTrue(「保存按鈕丟失!」, Browser.findElement(By.id(「XXX 「))。被展示());

我使用的是2.29.1硒。你對FireFox有什麼問題嗎?

回答

1

我沒有看到任何地方的Java 2.29.1版本..你使用java或.Net綁定? 2.29的更改日誌說firefox 18支持,但沒有提及本地支持。這可能是一個原因。考慮將firefox降級到17以來,因爲硒2.27 java版本更改日誌顯示支持本地事件已添加爲17.

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(); 

試試這個代碼。

+0

嗨。我較早創建了此方法,但具有相同的結果!這兩種方法都在IE和Chrome上工作,不在FF下工作。 :( – Gbo

1

Selenium 2.29在Firefox 18上不支持,因爲最新版本未在FF18上測試。它會工作,如果你降級你的Firefox的版本。即使我在FF18上遇到問題,但在FF17上工作。