使用Dameware和IE11在Windows 10上运行的硒找不到任何元素

时间:2018-08-09 15:45:01

标签: selenium internet-explorer-11

我正在Windows 10计算机上通过Dameware在IE 11上运行硒。(当我从Windows 7和IE 11在桌面上运行时,它可以正常工作)。它需要查找用户名输入字段并输入用户名:

enter image description here

找不到任何元素。为了查看其认为具有的元素,我添加了一些代码:

        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");
        }

这应该检查驱动程序可访问的每个窗口并打印找到的每个元素(因为我使用了“ // *”)。当我运行它时,如果找到1个窗口,1个句柄但没有元素。 (addComment将注释添加到日志文件中。)

我输入了要搜索的文本。在这种情况下,实际上是用该文本查找窗口的“关键词”。但是,它从来没有找到任何元素就走得太远。您可以从下面的图片中看到该元素。 enter image description here

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

0 个答案:

没有答案