我需要使用 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);
最佳答案
public void click(WebElement a,WebElement b)
{
try
{
String mouseOverScript = "if(document.createEvent){var evObj = document.createEvent('MouseEvents');evObj.initEvent('mouseover',true, false); arguments[0].dispatchEvent(evObj);} else if(document.createEventObject) { arguments[0].fireEvent('onmouseover');}";
((JavascriptExecutor) driver).executeScript(mouseOverScript,a);
Thread.sleep(1000);
((JavascriptExecutor) driver).executeScript(mouseOverScript,b);
Thread.sleep(1000);
((JavascriptExecutor)driver).executeScript("arguments[0].click();",b);
} catch (Exception e) {
// TODO: handle exception
}
}
关于java - 如何使用 javascript 在 selenium webdriver 中执行鼠标悬停功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19288492/