Мне нужна помощь в этом сценарии, где мне нужно найти строку из таблицы разбиения на страницы, в которой каждая страница содержит 50 элементов. Мой код ниже работает нормально, только проблема в том, что когда он не может найти данные, мой цикл while иногда продолжает работать бесконечно и не терпит неудачу, но иногда это происходит! Что я могу сделать, чтобы он всегда возвращал ошибку после достижения нескольких циклов?Обработка ошибок для цикла while
public int inboxLocateLoan(String expName, String name) throws Throwable {
//Locate Loan element in SharePoint table
report.setFailedResult("Loan element is not found");
int loanRow;
try {
boolean loansearch = true;
while (loansearch) {
List <WebElement> rowElem = getWebElements(getAEDriver(), "xpath", sRow);
for (int i = 1; i <= rowElem.size(); i++) {
String actualLoanName = driver.findElement(By.xpath("//*[@id='onetidDoclibViewTbl0']/tbody[2]/tr[" + i + "]/td[3]")).getText();
// String actualLoanNumber = driver.findElement(By.xpath("//*[@id='onetidDoclibViewTbl0']/tbody[2]/tr["+i+"]/td[5]")).getText();
loanRow = i;
if (actualLoanName.equals(expName)) {
loansearch = false;
return loanRow;
}
if (actualLoanName.equals(name)) {
click(getAEDriver(), "xpath", "//*[@class='ms-pivotControl-surfacedOpt-selected']", "Refresh");
loansearch = true;
} else {
if (i == 50) {
click(getAEDriver(), "xpath", "//*[@id='pagingWPQ2next']/a", "Next Page");
} else {
loansearch = true;
}
}
}
}
}
Подсказка: вы хотите, чтобы мы провели время, чтобы помочь вам; поэтому вы можете потратить несколько минут на правильное форматирование/отступы ввода кода; вместо того, чтобы сбросить на нас такой ** беспорядок **. Не могли бы вы осмелиться показать такой код партнеру при обращении за помощью? Но с нами, все в порядке? – GhostCat