我正在使用有 19 页的应用程序。每页上有 10 个帐户和它们前面的 10 个复选框。
我在Excel表格中保存了一些帐户的列表,并且想要在Excel中一一读取帐号,将其与网页上的帐户进行匹配,如果值匹配->设置该帐户前面的复选框并移动到Excel 中的下一个帐户......如此重复,直到最后一个帐户在 Excel 列表中匹配。
如果帐户与网页上的 10 个帐户中的任何一个都不匹配,我需要单击下一步箭头(在网页上的帐户列表下方显示)并检查帐号是否与新网页上的任何帐户匹配。
代码如下
String data=null; //to get value of account on webpage
int count=0;
do{
for(count=0;count<=9;count++)
{
data= (String) al1.get(count); //al1=List of accounts on webelement
if(stg.equals(data)) //stg=account read from execl
{
utl.checkbox_clicking(data);//calling method to set checkbox if value matches
break;
}
}
utl.Weblement_Click("*name of weblement of next page arrow*");
al1 = utl.Account_List(); //loading new account list on next page in List
}while(stg.equals(data));
逻辑上有问题。有人可以建议我应该做哪些改变吗?
最佳答案
我发现你的问题是当你找到你需要的东西时你只需执行break。但break只是跳出内部循环,而不是外部循环。
因此,在不尝试更改代码中的任何内容并重新组织某些内容的情况下,我想告诉大家,java 中有一些未使用的内容,可能是因为代码不可读,即所谓的标记 block 。也许它的唯一用途之一是打破外循环。我希望它能对您有所帮助,并且它是解决您问题的正确解决方案。 请注意,大多数时候,如果您发现自己在使用它,则可能需要更改循环。在你的情况下,我会选择类似 while 循环的方法,有两个条件:一个适用于每页 10 个帐户,另一个适用于你无法找到更多页面。
这是一个关于此的简短教程: https://docs.oracle.com/javase/tutorial/java/nutsandbolts/branch.html
因此,在您的代码中,我刚刚添加了第一条语句和换行符。
pagesLoop:
do {
for (count = 0; count <= 9; count++) {
data = (String) al1.get(count); //al1=List of accounts on webelement
if (stg.equals(data)) //stg=account read from execl
{
utl.checkbox_clicking(data);//calling method to set checkbox if value matches
break pagesLoop;
}
}
utl.Weblement_Click("*name of weblement of next page arrow*");
al1 = utl.Account_List(); //loading new account list on next page in List
} while (stg.equals(data));
关于java - 如果 webelement 值与 Excel 值匹配如何打破循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41305071/