同じテストケースで同時に2つ以上のウィンドウを開いた場合、一度に複数のウィンドウを処理する方法、具体的にはメインウィンドウを後で閉じる場合最初に閉じるウィンドウ?Selenium Webdriverで複数のウィンドウを扱う場合
0
A
答えて
0
あなたはdriver.close()
を呼び出す前に、正しいウィンドウを選択するために
driver.switchTo().window("windowName");
を使用することができます。 (左は窓がない場合は、ブラウザが閉じます。)
詳しくhere
0
があります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();
関連する問題