java - 如何使用 javascript 在 selenium webdriver 中执行鼠标悬停功能

标签 java frameworks selenium-webdriver

我需要使用 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/

相关文章:

java - 甲骨文java连接

java - Spring MVC 中的嵌套异常处理

ios - Xcode 找不到框架

selenium - 将 Protractor 直接连接到浏览器驱动程序时使用什么协议(protocol)?

在Maven中添加Selenium-java-2.31.0库后Java代码抛出异常

java - 来自 JVM 的崩溃报告

java - 默认classpath中的当前路径是 `.`吗?

php - RIA 开发 : Coexistence of two MVC frameworks (client<->server)

c - ANSI C 图形扩展

java - "org.testng.TestNGException: org.xml.sax.SAXParseException; Element type "Listeners"必须声明。在处理监听器时