我正在尝试在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");
答案 0 :(得分:1)
你正在使用driver1.switchTo().window(Window1);
,这里Window1是你从驱动程序获得的窗口句柄(而不是driver1)。所以你不能使用driver1驱动程序的窗口句柄。
尝试为driver1获取单独的句柄,然后仅使用driver1切换到那些窗口。(如Set<String> WINDOWIDS1= driver1.getWindowHandles();
)
答案 1 :(得分:0)
使用您的代码,我可以运行我的脚本,并能够将这些数据传递到电子邮件ID和密码字段。它工作正常。
使用WINDOWIDS.remove(window2);