【发布时间】:2016-01-19 17:43:22
【问题描述】:
基本我使用带有 POM 的 maven,在第二个窗口中执行操作并单击发送窗口自动关闭后,我无法将焦点切换回父窗口,之后我的 Firefox 驱动程序不起作用。
**我使用了下面提到的三个不起作用的选项**
public void switchWindow() {
String handle = driver.getWindowHandle();
Set<String> set = driver.getWindowHandles();
set.remove(handle);
if (set.size() >= 1) {
driver.switchTo().window((String) set.toArray()[0]);
}
public WebDriver switchWindowByTitle(String title)
{
WebDriver popup = null;
Set<String> windowIterator = driver.getWindowHandles();
System.err.println("No of windows : " + windowIterator.size());
for (String s : windowIterator) {
String windowHandle = s;
popup = driver.switchTo().window(windowHandle);
System.out.println("Window Title : " + popup.getTitle());
System.out.println("Window Url : " + popup.getCurrentUrl());
if (popup.getTitle().equals(title) ){
System.out.println("Selected Window Title : " + popup.getTitle());
return popup;
}
}
System.out.println("Window Title :" + popup.getTitle());
System.out.println();
return popup;
public WebDriver switchWindowByTitle(String title)
{
String currentWindow = driver.getWindowHandle();
List<String> availableWindows = new ArrayList<String>(driver.getWindowHandles());
for(String w : availableWindows)
{
if (w != currentWindow)
{
driver.switchTo().window(w);
if (driver.getTitle().equalsIgnoreCase(title))
return true;
else
{
driver.switchTo().window(currentWindow);
}
}
}
return false;
}
【问题讨论】:
-
您能否参考stackoverflow.com/questions/19112209/… 并看到这解决了您的问题?
-
@AbdulHameed:- 我已经提到了上面的链接,如果你能看到我的第二个选项是一样的
标签: java selenium selenium-webdriver