Betrachten Sie die folgende Umsetzung:Debugging-Skript für Schleife laufen in - Selen WebDriver
WebDriverWait wait = new WebDriverWait(driver, 60);
List<WebElement> countryLinks = driver.findElements(By.cssSelector("a[href*='/country/']"));
for (int i = 75; i < countryLinks.size(); i++) {
wait.until(ExpectedConditions.visibilityOfElementLocated(By.cssSelector("a[href*='/country/']")));
Thread.sleep(1000);
WebElement elem = countryLinks.get(i);
JavascriptExecutor js = (JavascriptExecutor) driver;
//this line will scroll to element.
js.executeScript("window.scrollTo(" + elem.getLocation().x + "," + (elem.getLocation().y - 100) + ");");
System.out.println("The Country is: " + elem.getText());
elem.click();
wait.until(ExpectedConditions.visibilityOfElementLocated(countryDetailVerify));
driver.navigate().back();
}
Above Skript nur einmal ausgeführt wird, wenn i = 75. Aber wenn ich Liste initialisieren innerhalb for-Schleife und wechseln Sie in for(int i=75;i<79;i++)
for-Schleife, dann funktioniert es richtig.
Ich möchte meine Liste außerhalb for-Schleife initialisieren, so dass ich es auf die Größe meiner Liste beschränken kann. Eine Möglichkeit besteht darin, eine andere Liste mit einem anderen Namen zu erstellen. Aber ist das die beste Option?