执行javascriptExecutor后无法执行程序步骤

时间:2013-04-11 14:44:34

标签: javascript selenium webdriver selenium-webdriver

我想Mouse Hover在我的应用程序中执行某些任务。我通过使用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 个答案:

答案 0 :(得分:1)

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

您的代码说您只有在发生异常时才退出... move driver.quit();在捕获之外