在Webdriver,Selenium中使用driver.getCurrentUrl()时显示的URL不正确

时间:2014-11-24 12:29:43

标签: selenium junit selenium-webdriver webdriver

我有一个注册表单,由Selenium Webdriver填写,它提交并转到帖子注册页面。在使用driver.getCurrentUrl()检查URL时,将返回上一页URL。

driver.get(baseUrl + "home") // url /home
driver.findElement(By.id(<<button>>).click();   // url -> /register

driver.findElement(By.id(<<textfield>>).sendKeys("the entire form is filled"); // url /register

driver.findElement(By.id(<<submit button>>).click(); // url -> /postRegister

System.out.println(driver.getCurrentUrl()); // 

结果:url / register

预期:url / postRegister

2 个答案:

答案 0 :(得分:2)

这不应该发生,但无论如何你可以使用JavascriptExecutor获取当前网址:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("return window.location.href").toString();

答案 1 :(得分:0)

点击后你有没有等待,并试过getCurrentURL()? driver.findElement(By.id(&lt;&gt;)。click(); // url - &gt; / postRegister。 Thread.sleep代码(10000); //放一些合适的等待或至少尝试导航到发布注册页面。 的System.out.println(driver.getCurrentUrl());