【问题标题】:Window handles with new Window URL具有新窗口 URL 的窗口句柄
【发布时间】:2017-11-16 04:33:15
【问题描述】:
【问题讨论】:
标签:
selenium
window-handles
【解决方案1】:
参考下面的代码sn-p,它将URL返回一个String变量。
public void switchWindow(String name){
String URL = null;
wait.waitForWindowToBeActiveAndSwitchToIt(2);
System.out.println(driver.getWindowHandles().size());
for (String current : driver.getWindowHandles()) {
if(driver.getTitle().equals(name)){
System.out.println("Switched to window titled =>" +driver.getTitle());
URL = driver.getCurrentUrl();
break;
}
System.out.println("Switching to window handle:"+ current + "\n title: "+ driver.getTitle());
driver.switchTo().window(current);
}
}
要在新标签页中打开此 URL,请执行以下操作:
driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");
string newTabInstance = driver.WindowHandles[driver.WindowHandles.Count-1].ToString();
driver.SwitchTo().Window(newTabInstance);
driver.Navigate().To(URL);