我想做鼠标悬停
来在我的应用程序中执行某些任务。我通过使用 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()
命令,因为我的浏览器挂起,直到我手动关闭。我的控制台中没有收到任何错误。我不知道如何调试它。
任何帮助将不胜感激。
我知道鼠标悬停
也可以通过Action Builder
类实现,但我需要在javascriptExecutor中实现。
最佳答案
catch(Exception e){
e.printStackTrace();
driver.quit();
}
你的代码说你只有在发生异常时才退出...... 移动 driver.quit();渔获外
关于javascript - javascriptExecutor 执行后无法执行处理步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951795/