【发布时间】:2013-10-17 18:48:37
【问题描述】:
我需要使用 JavaScript 执行鼠标悬停功能,我尝试了以下代码没有收到任何错误但鼠标悬停功能没有发生。
WebElement Mainmenu=_driver.findElement(By.xpath(locatorvalue[0]));
String strJavaScript = "var element = arguments[0];"
+ "var mouseEventObj = document.createEvent('MouseEvents');"
+ "mouseEventObj.initEvent( 'mouseover', true, true );"
+ "element.dispatchEvent(mouseEventObj);";
JavascriptExecutor js = (JavascriptExecutor) _driver;
js.executeScript(strJavaScript, Mainmenu);
【问题讨论】:
-
您可以使用动作类来执行鼠标相关的活动。
-
我已经使用了动作类,它在所有浏览器和所有应用程序中都不起作用,那是你正在使用 javascript
-
String javaScript = "var evObj = document.createEvent('MouseEvents');" + "evObj.initMouseEvent(\"mouseover\",true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);" +“参数[0].dispatchEvent(evObj);”; ((JavascriptExecutor) Driver.driver).executeScript(javaScript, element);这应该有效。试一试。
-
没有老板它不工作
-
您能否使用您正在尝试处理的网页,以便我们更好地理解“不工作”的含义?
标签: java frameworks selenium-webdriver