【问题标题】:Issue with IE in selenium webdriver?selenium webdriver中的IE问题?
【发布时间】:2016-01-04 12:35:09
【问题描述】:

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

【问题讨论】:

  • 请发布您的 HTML 代码,以便人们更好地了解问题所在,因为您在第一个按钮中使用绝对 xpath 可能在 IE 中没有检测到它,必须查看代码.

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


【解决方案1】:

我经常遇到同样的问题,因为我主要是在 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);
    }

我知道不建议这样做,但至少我已经畅通无阻并且我的工作已经完成。

【讨论】:

    猜你喜欢
    • 2019-04-27
    • 2011-12-14
    • 2011-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 2016-01-12
    相关资源
    最近更新 更多