2013-04-11 186 views
1

我想要執行Mouse Hover以在我的應用程序中執行某些任務。我通過使用javascriptExecutor做到了這一點。在進入我的應用程序之前,我嘗試了一些開放式應用程下面是使用代碼執行javascriptExecutor後無法執行步驟步驟

使用的代碼

try{ 
driver = new FirefoxDriver(); 
driver.manage().window().maximize(); 
driver.get("http://www.hdfcbank.com/"); 
WebElement ele = driver 
       .findElement(By.xpath("//li[6]/div/a")); 
String javaScript = "var evObj = document.createEvent('MouseEvents');" 
      + "evObj.initMouseEvent(\"mouseover\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" 
      + "arguments[0].dispatchEvent(evObj);"; 
JavascriptExecutor js = (JavascriptExecutor) driver; 
js.executeScript(javaScript, ele); 
driver.findElement(By.xpath("//li[6]/div[2]/div[2]/div/ul/li[2]/a")).click(); 
catch(Exception e){ 
e.printStackTrace(); 
driver.quit(); 
} 

當我執行上面的代碼中,我能夠做的鼠標懸停但點擊操作失敗。一個重要的事情是它不能執行quit()命令,因爲我的瀏覽器掛起,直到手動關閉。我的控制檯沒有出現任何錯誤。我不知道如何調試它。

任何幫助將不勝感激。

我知道Mouse Hover也可以通過Action Builder類實現,但我在javascriptExecutor中需要它。

回答

1
catch(Exception e){ 
e.printStackTrace(); 
driver.quit(); 
} 

你的代碼是說你只有退出,當異常發生的事情...... 移動driver.quit();捕捉外部