无法找到窗口 - Selenium Webdriver错误

时间:2015-07-13 10:50:11

标签: java selenium selenium-webdriver

我正在尝试在selenium web驱动程序中切换窗口,但不断收到此错误

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

这是我的代码,我正在做错误的部分。请帮助

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("xyz@xyz.com");

    driver.findElement(By.id("pass")).sendKeys("xyz@xyz.com");

2 个答案:

答案 0 :(得分:1)

你正在使用driver1.switchTo().window(Window1);,这里Window1是你从驱动程序获得的窗口句柄(而不是driver1)。所以你不能使用driver1驱动程序的窗口句柄。

尝试为driver1获取单独的句柄,然后仅使用driver1切换到那些窗口。(如Set<String> WINDOWIDS1= driver1.getWindowHandles();

答案 1 :(得分:0)

使用您的代码,我可以运行我的脚本,并能够将这些数据传递到电子邮件ID和密码字段。它工作正常。

使用WINDOWIDS.remove(window2);