在所有Selenium cod示例中,如果我想要打开webdriver特定网站页面就像这样
`chromeDriver.Navigate()GoToUrl(站点名);
但是现在我遇到一个问题,当我点击网页时我正在测试它的开放新网站(第3个网站)并且我无法提前知道URL。 所以任何人都知道,我怎么知道打开的新页面中的URL是什么?
答案 0 :(得分:0)
您可以使用driver.Url
访问当前网址。
答案 1 :(得分:0)
试试这个:
driver.get("https://stackoverflow.com");
Actions action = new Actions(driver);
action.moveToElement(driver.findElement(By.xpath("//*[@id='nav-tags']"))).sendKeys(Keys.SHIFT).click().build().perform();
// You have opened your unknown site in a new window till now
String currentWindowHandle = driver.getWindowHandle();
ArrayList < String > windowHandles = new ArrayList < String > (driver.getWindowHandles());
for (int i = 0; i < windowHandles.size(); i++) {
if (windowHandles.get(i).equals(currentWindowHandle)) {
//SwitchTo new Window
driver.switchTo().window(windowHandles.get(i + 1));
//Do your stuff like get URL that tou need
System.out.println(driver.getCurrentUrl());
System.out.println(driver.getTitle());
//Close the newly opened window
driver.close();
}
}
driver.switchTo().window(currentWindowHandle);
这将在新窗口中打开标签窗口并获取该窗口的URL,假设这是您想要的。