Selenium使用Damware和IE11在windows 10上运行,找不到任何元素

Selenium使用Damware和IE11在windows 10上运行,找不到任何元素,selenium,internet-explorer-11,Selenium,Internet Explorer 11,我在Windows10机器上通过Damware运行selenium到IE11。(当我使用Windows 7和IE 11从桌面运行时,它工作正常)。它需要查找用户名输入字段并输入用户名: 它没有找到任何元素。为了了解它认为它有哪些元素,我放了一些代码: String xp = "//*[contains(text(), '_TXT_')]".replace("_TXT_", txt); addComment("xp is " + xp); Set&

我在Windows10机器上通过Damware运行selenium到IE11。(当我使用Windows 7和IE 11从桌面运行时,它工作正常)。它需要查找用户名输入字段并输入用户名:

它没有找到任何元素。为了了解它认为它有哪些元素,我放了一些代码:

        String xp = "//*[contains(text(), '_TXT_')]".replace("_TXT_", txt);
        addComment("xp is " + xp);
        Set<String> handles = driver.getWindowHandles();
        List<String> hlist = Lists.newArrayList(handles);
        boolean found = false;
        Integer hsize = hlist.size();
        addComment("Number of list handles = " + hsize.toString());
        hsize = handles.size();
        addComment("Number of arr handles = " + hsize.toString());

        for (String handle : hlist) {
            addComment("Handle is " + handle);
            addComment("URL is " + driver.getCurrentUrl());
        }
        for (String handle : hlist) {
            addComment("Handle: " + handle);
            driver.switchTo().window(handle);

            List<WebElement> eles = driver.findElements(By.xpath("//*"));
            for (WebElement ele : eles) {
                String tag = ele.getTagName();
                String id = ele.getAttribute("id");
                String nm = ele.getAttribute("Name");
                addComment(handle + ": " + "//" + tag + "[@" + id + "=" + id + " + name = " + nm);
            }
            WebElement e = SeleniumTools.waitForWebElement(By.xpath(xp), 20);
            found = (e != null);
            if (found) {
                break;
            }
        }

        if (!found) {
            throw new KDTException("No window found");
        }
String xp=“//*[contains(text(),'.\u-TXT'.')]”。替换(“.\u-TXT'.”,TXT);
添加注释(“xp为”+xp);
Set handles=driver.getWindowHandles();
List hlist=Lists.newArrayList(句柄);
布尔值=false;
整数hsize=hlist.size();
addComment(“列表句柄数=“+hsize.toString());
hsize=handles.size();
addComment(“arr句柄数=“+hsize.toString());
for(字符串句柄:hlist){
addComment(“句柄是”+句柄);
addComment(“URL为”+driver.getCurrentUrl());
}
for(字符串句柄:hlist){
addComment(“句柄:+Handle”);
driver.switchTo().窗口(手柄);
List eles=driver.findElements(By.xpath(“//*”);
for(WebElement ele:eles){
String tag=ele.getTagName();
字符串id=ele.getAttribute(“id”);
字符串nm=ele.getAttribute(“名称”);
addComment(handle+“:“+”/“+tag+”[@“+id+”=“+id+”+name=“+nm”);
}
WebElement e=SeleniumTools.waitForWebElement(By.xpath(xp),20);
找到=(e!=null);
如果(找到){
打破
}
}
如果(!找到){
抛出新的KDTException(“未找到窗口”);
}
这应该检查驱动程序可访问的每个窗口,并打印它找到的每个元素(因为我使用了“/*”)。当我运行它时,如果发现1个窗口,1个句柄,但没有元素。(addComment将注释添加到日志文件中)

我传入文本进行搜索。在本例中,查找包含该文本的窗口实际上是“assword”。但如果没有找到任何元素,它就永远不会走到那么远。您可以从下图中看到元素就在那里。

所以我不知道为什么它找不到任何东西。我在IE中的所有区域都设置为受保护。(我还尝试了关闭所有受保护模式)。
是的,我们确实需要使用IE,因为Chrome无法处理某些功能。

我想知道Chrome无法处理的功能是什么?但关于您最初的问题,请检查您是否在运行selenium()的机器上设置了此注册表项,这在OP的问题(post)中显然,为了回答第一个问题,Chrome无法处理冷熔合。为了回答第二个问题,我已经联系我们的系统管理员检查注册表。我认为我自己无法检查它?实际上我能够设置它。我是否需要重新登录或其他什么,因为我仍然有相同的问题。您可能需要重新启动机器是的,这可能不是Chrome的实际问题,但是文件,()这会导致勒索软件攻击吗?