我想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中实现。
答案 0 :(得分:1)
catch(Exception e){
e.printStackTrace();
driver.quit();
}
您的代码说您只有在发生异常时才退出... move driver.quit();在捕获之外