繁体   English   中英

while循环仅运行一次

[英]while loop only runs once

我试图循环列表A并将列表A中的每个元素与列表B进行比较,以查找匹配项,但我不知道为什么while循环仅执行一次?

for (WebElement webElement : inputs) 
{
    if (webElement.getAttribute("type").equalsIgnoreCase("text")) 
    {       
        String element = webElement.getAttribute("id").toString();
        System.out.println("Element: " + element);

        while(e.hasMoreElements())
        {   
            String param = (String) e.nextElement();
            System.out.println("Parameter: " + param);     

            System.out.println(element.matches(param));
            if(element.matches(param))
            {
                webElement.sendKeys(vars.get(param));
                //inputs.remove(element);
            }
        }
    }           
}       

抱歉,剩下的代码在上面的代码之前被引用

Hashtable vars = new Hashtable();

vars.put("USERNAME","slider"); vars.put("POSTCODE","LU1 3LU"); vars.put("EMAIL","david.cunningham@lumesse.com"); vars.put("DOB","02 Mar 1983"); Enumeration<String> e = vars.keys();

我的猜测是您有类似的东西:

Enumeration e = vector.elements();

在for循环之外 您需要将其放在 while循环之前的for循环 否则,您将一直迭代,但是永远不要重新开始。

(如果可能的话,我也建议您使用Iterable / Iterator接口,以及通用集合。)

根据显示的代码,枚举e包含一个元素。 您尚未显示e的创建位置,因此没有人可以告诉您更多其他信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM