Windows如何在selenium中处理从第二个窗口到新窗口的URL
当我以此表单(https://equallevel.com/punchout/cxml-punchout-tester#advanced)提交所有信息时,它会打开一个新窗口。在新窗口中,它会重定向到我需要进行一些用户交互的另一个站点。在这一点上,我有最后一个iframe重定向的网站。所以我想从这里获取该URL并将其放在另一个选项卡中以执行用户操作 如何从getWindowHandles()
获取URL(从第二个窗口)到新窗口答案 0 :(得分:1)
参考下面的代码片段,它会将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);
}
}
要在新标签页中打开此网址,请执行以下操作:
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);