我在 Java 中使用 Selenium Webdriver。单击“下一步”按钮以从第 1 页移动到第 2 页后,我想获取当前 url。这是我的代码:
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 之前,我有隐式和显式等待调用来等待页面完全加载。但是,它仍在打印第 1 页的 url(它应该是第 2 页的 url)。