java - 如何在selenium 2中使用javascript执行器将鼠标悬停?

标签 java javascript jquery html selenium-webdriver

目前使用 Selenium WebDriver 并使用 Java。我想在鼠标悬停在选项卡上时执行该操作,并且需要单击该选项卡。 在此代码中,我可以识别该元素并且它正在打开选项卡。但问题是不是鼠标悬停而不是点击,而是直接打开页面。

 JavascriptExecutor executor = (JavascriptExecutor)driver;
         executor.executeScript("arguments[0].click();",                                                     
driver.findElement(By.id("ext-pr-backlog-evolution") ));

如果我使用

WebElement menuHoverLink = driver.findElement(By.id("ext-pr-backlog-evolution"));
actions.moveToElement(menuHoverLink).click().perform();

它并没有完全找到该元素,而是单击了其他一些选项卡。所以我想将鼠标悬停在 javascript 执行器中。

最佳答案

您可以创建鼠标事件

document.createEvent('MouseEvents');

然后为其分配鼠标悬停

mouseEventObj.initEvent( 'mouseover', true, true );

然后发送它

element.dispatchEvent(mouseEventObj);

关于java - 如何在selenium 2中使用javascript执行器将鼠标悬停?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21372215/

相关文章:

javascript - jquery Sortable 不起作用,但 jsfiddle 可以

JQuery .hide & .show 即使是隐藏也占空间

java - 为什么在执行 split() 时,数组的第 0 个索引中有 ""且不带分隔符?

java - 找不到我的逻辑错误

addEventListener 的 javascript 未正确分配

javascript - IE11 是否有 “Backface-visibility:hidden” 替代方案?

jquery - 使用 jQuery 淡入背景颜色?

java - 获取错误 java.sql.SQLException : No suitable driver found for jdbc:sqlserver://localhost;databaseName=ABC;integratedSecurity=true on Production

java - Spring上下文继承

javascript - DRY - 如何将此 if 语句交换为不太复杂的