2013-04-11 133 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();捕捉外部