2015-07-13 4 views
0

Я пытаюсь переключать окна в веб-драйвера селеном, но получаю эту ошибкуНевозможно найти окно - Селен WebDriver ошибку

Exception in thread "main" org.openqa.selenium.NoSuchWindowException: 
Unable to locate window "{519f3402-9039-4742-8cb3-4106fe8b24c4}" 

Вот мой код, который часть я делаю неправильно .please помочь

WebDriver driver=new FirefoxDriver(); 

    WebDriver driver1=new FirefoxDriver(); 

    driver.get("http://www.facebook.com"); 

    JavascriptExecutor js = (JavascriptExecutor) driver; 

    js.executeScript("window.open()"); 

    Set<String> WINDOWIDS= driver.getWindowHandles(); 
    Iterator<String> iter=WINDOWIDS.iterator();  
    String Window1=iter.next();//Returns first window id 
    String Window2=iter.next();//Returns second window id 

    driver.switchTo().window(Window1); 

    driver.findElement(By.id("email")).sendKeys("[email protected]"); 

    driver.findElement(By.id("pass")).sendKeys("[email protected]"); 
+0

Почему вы создаете два экземпляра драйвера? – Madhan

+0

, чтобы открыть два окна – hitesh1124

+0

, он не будет создавать два окна, но создаст два драйвера. – Madhan

ответ

1

Вы используете driver1.switchTo().window(Window1);, здесь Window1 - это дескриптор окна, который вы получили от драйвера (и NOT driver1). Поэтому вы не можете использовать дескриптор окна из драйвера с драйвером1.

Попробуйте получить отдельные ручки для Driver1, а затем переключиться на те, которые из окон только с Driver1. (Как Set<String> WINDOWIDS1= driver1.getWindowHandles();)

+0

благодарит для обмена .. – hitesh1124

0

с кодом я могу иметь возможность запускать мой сценарий и способен передавать эти данные в электронный идентификатор и поля пароля. Он работает нормально.

использование WINDOWIDS.remove (window2);

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