Если вы знаете, что такое URL для следующей страницы, или какой-то другой, который будет отличаться от первой страницы, лучше всего было бы использовать FluentWait, а не цикл.пример:
FluentWait<WebDriver> webDriverWait = new WebDriverWait(driver, 60).pollingEvery(Duration.ofSeconds(2));
webDriverWait.until(ExpectedConditions.urlContains("Fraction of new URL"));
или если новый URL-адрес является абсолютно случайным, вы можете использовать:
webDriverWait.until(ExpectedConditions.not(ExpectedConditions.urlContains("Fragment of URL")));
Однако это будет менее надежно, так как это может проверить его в некоторой промежуточной точке, ина самом деле не подтверждает, что вы попали на правильную страницу, просто вы оставили последнюю.
Что это сделает, это создаст ожидание, которое имеет максимальную продолжительность 60 секунд, но оно проверяетсостояние каждые 2 секунды.Вы можете настроить максимальное время в соответствии с тем, что вам нужно для вашего времени отклика, но опрос гарантирует, что он занимает столько времени, сколько ему нужно, а также обеспечивает возможность сбоя в случае подлинной ошибки, в отличие от цикла while, которыйбудет работать бесконечно долго, если новая страница не загружается