KunLun :
I have an element over I want to perform mouseover to do another element visible.
I tried with this: new Actions(driver).moveToElement(webElem).perform();
But if I move mouse over browser, that mouseover is stopped and the element I want to be visible, disappear.
How I can perform an mouseover without get occurred by mouse?
Here is an sample of html for testing:
<html>
<head>
</head>
<body>
<div id="demo" onmouseover="mouseOver()" onmouseout="mouseOut()">Mouse over here</div>
<script>
var node = document.createElement("div");
node.innerHTML = "mouse over active";
function mouseOver() {
document.body.appendChild(node);
}
function mouseOut() {
document.body.removeChild(node);
}
</script>
</body>
</html>
KunduK :
Try with java scripts executor
.Hope this will help.
WebElement element=new WebDriverWait(driver, 10).until(ExpectedConditions.visibilityOfElementLocated(By.id("demo")));
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,element);
Guess you like
Origin http://10.200.1.11:23101/article/api/json?id=421966&siteId=1