0
如果同一個測試用例同時打開兩個以上的窗口,那麼如何一次處理多個窗口,更具體地說,如果我想讓我的主窗口晚點關閉窗戶先關閉?在Selenium Webdriver中處理多個窗口
如果同一個測試用例同時打開兩個以上的窗口,那麼如何一次處理多個窗口,更具體地說,如果我想讓我的主窗口晚點關閉窗戶先關閉?在Selenium Webdriver中處理多個窗口
您可以使用
driver.switchTo().window("windowName");
調用driver.close()
之前選擇正確的窗口。 (如果沒有離開窗口,瀏覽器將關閉。)
有更多的信息here
你可以做這樣的事情
1.Before開放的子窗口(通過點擊鏈接等)
parentWindowHandle = driver.getWindowHandle();
2.At每一個新的窗口
public String getChildHandle(WebDriver driver,String parentWindowHandle)
{
String childWindowHandle = null;
Set<String> allWindowHandles = driver.getWindowHandles();
Iterator itr = allWindowHandles.iterator();
while(itr.hasNext())
{
String temp=(String) itr.next();
if(temp.equalsIgnoreCase(parentWindowHandle)) // you can compare with any handle or you can compare with all existing window handles
{
System.out.println("Same as parent handle-> "+temp);
}
else
{
childWindowHandle = temp;
}
}
return childWindowHandle;
}
3.關閉任何不需要的窗口
driver.switchTo().window(parentWindowHandle/childWindow1/childWindow2);
driver.close();