Я использую Selenium Webdriver в Java. Я хочу получить текущий URL-адрес после нажатия кнопки "Далее", чтобы перейти со страницы 1 на страницу 2. Здесь код, который у меня есть:
WebDriver driver = new FirefoxDriver();
String startURL = //a starting url;
String currentURL = null;
WebDriverWait wait = new WebDriverWait(driver, 10);
foo(driver,startURL);
/* go to next page */
if(driver.findElement(By.xpath("//*[@id='someID']")).isDisplayed()){
driver.findElement(By.xpath("//*[@id='someID']")).click();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='someID']")));
currentURL = driver.getCurrentUrl();
System.out.println(currentURL);
}
У меня есть как неявные, так и явные вызовы ожидания, чтобы дождаться, когда страница будет полностью загружена, прежде чем я получу текущий url. Тем не менее, он все еще печатает URL-адрес для страницы 1 (он должен быть URL-адресом для страницы 2).