[英]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.