簡體   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