2015-01-15 4 views
0

Я получаю ошибку NoSuchWindowException с этим кодом. Я не могу вернуться в старое открытое окно и вернуться в новое окно , пожалуйста, просмотрите мой код и помогите мне.Переключение между двумя окнами в selenium webdriver

public void TC_123617()throws InterruptedException  { 
     driver.findElement(By.id("user_login")).sendKeys("akhil"); 
     driver.findElement(By.id("user_pass")).sendKeys("akhil"); 
     driver.findElement(By.id("wp-submit")).click(); 
     Thread.sleep(3000); 
     driver.findElement(By.cssSelector("#awebsome_oruw-2 > ul")).click(); 
     WebElement userStatus = driver.findElement(By.xpath(".//*[@id='awebsome_oruw-2']/ul/li[11]")); 
     String parentWindow = driver.getWindowHandle();   
     driver = new FirefoxDriver();   
     driver .manage().window().maximize();   
     driver.get("http://103.16.143.96/incis/wp-login.php"); 
     driver.findElement(By.id("user_login")).sendKeys("manager"); 
     driver.findElement(By.id("user_pass")).sendKeys("manager"); 
     driver.findElement(By.id("wp-submit")).click(); 
     for (String popUpHandle : driver.getWindowHandles()) { 
      if(!popUpHandle.equals(parentWindow)){ 
       driver.switchTo().window(popUpHandle);  
      driver.switchTo().window(parentWindow); 
      } 
     } 
    } 
+0

Вы создаете новый экземпляр Firefox Водитель? –

ответ

0

Вам не нужно создавать новый экземпляр драйвера, если вы хотите переключаться между окнами с помощью драйвера. Сохраните ссылку на текущее окно. (Так что вы можете вернуться, чтобы выполнить действия на окне вы начали с.)

String parentWindow = driver.getWindowHandle();

Следующий шаг, получить все окна и перейти в новое окно.

List<String> allWindows = driver.getWindowHandles(); for(String curWindow : allWindows){ driver.switchTo().window(curWindow); }

Теперь вы можете выполнять любые действия на новом окне, и когда сделано, вы могли бы закрыть его с помощью

driver.close();

Наконец, вы можете вернуться к родительскому окну, чтобы продолжить ваши действия с использованием

driver.switchTo().window(parentWindow)

Смежные вопросы