gpt4 book ai didi

java - Selenium - 鼠标悬停而不出现真正的鼠标

转载 作者:行者123 更新时间:2023-11-30 01:40:58 29 4
gpt4 key购买 nike

我有一个元素,我想执行鼠标悬停以使另一个元素可见。

我尝试过这个:new Actions(driver).moveToElement(webElem).perform();

但是,如果我将鼠标移到浏览器上,鼠标悬停就会停止,并且我想要可见的元素就会消失。

如何在不发生鼠标悬停的情况下执行鼠标悬停?

这里是一个用于测试的 html 示例:

<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>

最佳答案

尝试使用java脚本执行器。希望这会有所帮助。

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);

关于java - Selenium - 鼠标悬停而不出现真正的鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60007221/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com