在IE中单击带有selenium2的元素

时间:2014-02-24 14:01:21

标签: internet-explorer selenium selenium-webdriver

某些元素未在IE中使用selenium2点击

引发错误:驱动程序尝试单击该元素的点未滚动到视口中。 (警告:服务器未提供任何堆栈跟踪信息)

浏览器:IE 11 IEDriverServer:2.39 Selenium服务器:2.37

尝试使用IEDriverServer 2.28,单击可以工作,但还有一些其他功能不适用于旧版本。 尝试点击jquery,但它会给其他测试用例带来问题。

请发布解决方案或建议。

谢谢!

1 个答案:

答案 0 :(得分:1)

官方IE11当前不在WebDriver的支持列表中,仍然可以尝试将焦点放在元素上然后执行单击,如果失败则可以尝试点击使用javascript点击方法

try {
    Actions action = new Actions(driver);
    WebElement element = driver.findElement(By.xpath("XPATH_HERE"));
    if (element != null) {
        action.moveToElement(element).build().perform();
        element.click();
        return;
    }
    throw Exception("Element not found to perform click");
}catch (Exception e) {
    try {
        (new JavascriptLibrary()).executeScript(driver, "arguments[0].click()", driver.findElement(By.xpath("XPATH_HERE")));
        return;
        }
    } catch (Exception e1) {
        e1.printStackTrace();
    }
    e.printStackTrace();
}