我正在使用webdriver代码在IE中遇到鼠标悬停问题,它在Chrome和Firefox中运行良好,但鼠标悬停问题仅在IE中出现。我怎么解决这个问题?首先关注一个元素,接下来我将点击链接,请参阅下面的代码,
WebElement newbutton = driver.findElement(By.xpath("//html/body/div/span/form[2]/div/div/div[3]/div[2]/ul/span/li"));
Actions action = new Actions(driver);
action.moveToElement(newbutton).build().perform();
WebElement nextButton=driver.findElement(By.xpath(".//*[@id='menuFmId:headerForm:j_id130']/li/span"));
Actions action1 = new Actions(driver);
action1.moveToElement(nextButton).click(nextButton).build().perform();
答案 0 :(得分:0)
我经常遇到同样的问题,因为我必须主要使用IE浏览器。这些页面在IE上表现得非常出乎意料。在花了很多时间尝试搜索传统方法以实现在IE中悬停之后,我最终使用了Javascript。
public void mouseHoverJScript(WebElement HoverElement) {
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, HoverElement);
}
我知道不推荐,但至少我没有受阻,我的工作已经完成。