我有一个如下所示的html页面:
..
在Java中使用selenium webdriver,我尝试了以下内容:
WebDriver driver = new HtmlUnitDriver();
String url = "http://www.pic.net.sh/index.html";
// And now use this to visit Google
driver.get(url);
//driver.click("xpath=//a[contains(@href,'listDetails.do')
//driver.findElement(By.xpath("//div[@class='quickActionHolderInfo loginAccountPass']/a[contains(text(), 'Login')]")).click();
driver.findElement(By.xpath("//div[@class='span12 quickActionHolder']/a[@href='/organisation/pass/login']")).click();
但是这个页面会重定向到另一个页面,然后当我尝试下面找到最终重定向的URL时
System.out.println("Page title is: " + driver.getCurrentUrl());
点击链接后会显示当前页面的网址,但不是最后一页。
我是否遗漏了任何内容,或者我的代码是否足以在重定向延迟后处理页面的重定向?我已经在这里讨论了它,但无济于事,如果有人能指出我类似的问题,我将非常感激。
答案 0 :(得分:-1)
通常由于对新网址的延迟调用而发生。有多种方法可以解决这个问题:
我使用以下代码进行测试:
int i=0;
do{
try {
Thread.sleep(200);
} catch (InterruptedException e) {
}
i++;
} while(driver.getCurrentUrl().equals("http://www.pic.net.sh/index.html")&&i<10);
无论哪种方式都应该有效。