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