在selenium webdriver中使用IE的问题?

时间:2015-10-07 10:10:17

标签: javascript java python-2.7 selenium selenium-webdriver

我正在使用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();  

1 个答案:

答案 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);
    }

我知道不推荐,但至少我没有受阻,我的工作已经完成。