我正在写一个selenium脚本来登录并创建新邮件,发送它并注销。但是当我点击新邮件按钮时,它会打开一个新窗口。在硒中我如何处理这个问题。我对硒很陌生。请详细解释。在Selenium中如何处理新窗口?
1
A
回答
1
http://toolsqa.com/selenium-webdriver/switch-commands/
硒webdriver的切换窗口的命令可以在这里找到它......
+0
这不是答案应该是一个评论。谢谢 – DebanjanB
0
使用下面的代码,你必须使用getWindowHandles-我希望它能帮助,让我知道如果你被卡住其他地方 -
@Test
public void multipleWindows() {
driver.get(URL+"/windows");
driver.findElement(By.cssSelector(".example a")).click();
Object[] allWindows = driver.getWindowHandles().toArray();
driver.switchTo().window(allWindows[0].toString());
Assert.assertNotEquals(driver.getTitle(), "New Window");
driver.switchTo().window(allWindows[1].toString());
Assert.assertEquals(driver.getTitle(), "New Window");
}
}
0
试试看这个代码,很容易理解。
WebDriver driver = new FirefoxDriver();
driver.get("http://demo.guru99.com/popup.php");
driver.findElement(By.xpath("html/body/p/a")).click();
// return the parent window name as a String
String parentWindow=driver.getWindowHandle();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
// Pass a window handle to the other window
for(String childWindow: driver.getWindowHandles())
{
System.out.println("Switch to child window");
//switch to child window
driver.switchTo().window(childWindow);
//find an element and print text of it
WebElement textLabel=driver.findElement(By.xpath("html/body/div[1]/h2"));
System.out.println(" text: "+textLabel.getText());
driver.close();
}
System.out.println("Get back to parent window");
//switch to Parent window
driver.switchTo().window(parentWindow);
//find an element and print text of it
WebElement logotext=driver.findElement(By.xpath("html/body/div[1]/h2"));
System.out.println("text: "+logotext.getText());
driver.close();
}
相关问题
- 1. 在Selenium Webdriver中处理多个窗口
- 2. 在Selenium中处理弹出窗口
- 3. 如何处理selenium IDE中的新窗口选项卡?
- 4. 如何处理从模态窗口上传文件Selenium WebDriver Java
- 5. 如何处理selenium webdriver中的多重窗口,需要从第二个窗口切换到第三个窗口
- 6. 处理当前窗口并在主窗口中加载新的fxml窗口
- 7. 处理程序在刷新父窗口后弹出窗口
- 8. 如何使用Selenium处理弹出窗口? (“driver.switchTo()窗口(窗口句柄);”没有一贯的工作)
- 9. 无法处理Selenium Webdriver(Java)中的showModalDialog窗口
- 10. 如何在新窗口中
- 11. 如何在新窗口中
- 12. 如何使用java处理selenium中的浏览器通知弹出窗口?
- 13. 如何在Selenium中处理这个StaleElementReferenceException?
- 14. 多窗口处理
- 15. 处理WPF窗口
- 16. 如何处理发生在子窗口中的父窗口中的JavaScript错误?
- 17. Winium.desktop - 处理新桌面窗口
- 18. 如何从批处理文件打开Power Shell窗口到新窗口
- 19. 窗口处理管理器
- 20. 使用父窗口处理程序处理子窗口消息。
- 21. 如何处理在Selenium Webdriver中处理动态元素ID
- 22. 在硒中处理showModalDialog窗口
- 23. 在Java中处理和关闭窗口
- 24. 在PyGTK/GtkBuilder中处理多个窗口
- 25. Selenium webdriver Java处理多于2个子窗口
- 26. 使用Selenium处理浏览器弹出窗口
- 27. 如何处理使用MVVM打开和关闭新窗口?
- 28. 如何获取FireFox新创建的窗口处理程序?
- 29. 我们如何处理使用Selenium Webdriver的浏览器弹出窗口
- 30. 如何使用Selenium WebDriver处理Firefox上传文件窗口 - 爪哇
的[如何处理在硒webdriver的复式窗口,需要从第二到第三窗口切换](https://stackoverflow.com/questions/45455402/how-to-handle-mutliple-windows可能的复制-in-selenium-webdriver-need-to-switch-from-second) – DebanjanB