1

我需要使用 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);
4

2 回答 2

2
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
    }
}
于 2015-02-25T05:34:47.870 回答
1
((JavascriptExecutor)driver).executeScript("$('element_selector').hover();");

希望这会有所帮助

于 2013-10-10T09:54:35.720 回答