11
  • 親ウィンドウから、コントロールを子ウィンドウに渡しています
  • 子ウィンドウでアクションを実行しています
  • 実行後、子ウィンドウからもう1つウィンドウが開きます(1番目の子ウィンドウの子)。
  • 両方の子ウィンドウを閉じて、親ウィンドウに戻らなければなりません。

    コントロールを子ウィンドウから親ウィンドウに切り替えることができません。以下のコードを試してみました

     String winHandleBefore = _driver.getWindowHandle();
    for(String winHandle : _driver.getWindowHandles()){
        _driver.switchTo().window(winHandle);
    }
    
    String winHandleAfter = _driver.getWindowHandle();
    

    /子ウィンドウでのアクションの実行/

    driver.close();
    _driver.switchTo().window(winHandleBefore);
    
4

9 に答える 9

5

このコードを使用します:

 // Get Parent window handle
 String winHandleBefore = _driver.getWindowHandle();
 for (String winHandle : _driver.getWindowHandles()) {
   // Switch to child window
   driver.switchTo().window(winHandle);
 }

// Do some operation on child window and get child window handle.
String winHandleAfter = driver.getWindowHandle();

//switch to child window of 1st child window.
for(String winChildHandle : _driver.getWindowHandles()) {
  // Switch to child window of the 1st child window.
  if(!winChildHandle.equals(winHandleBefore) 
  && !winChildHandle.equals(winHandleAfter)) {
    driver.switchTo().window(winChildHandle);
   }
 }

// Do some operation on child window of 1st child window.
// to close the child window of 1st child window.
driver.close();

// to close the child window.
driver.close();

// to switch to parent window.
driver.switchto.window(winHandleBefore);
于 2013-01-31T11:18:37.087 に答える
0

このようにしてみてください。

  1. 2番目の子ウィンドウを閉じる
  2. 次に、2つのウィンドウのメインウィンドウと1番目の子ウィンドウがあります
  3. getWindowhandles();を試してください。2つのウィンドウハンドルを返す必要があります。
  4. その2つのウィンドウハンドルからメインウィンドウハンドルを抽出します。
  5. 上記のウィンドウハンドルを使用してメインウィンドウに戻ります。

また

driver.switchTo()。defaultContent();

http://santoshsarmajv.blogspot.in/2012/04/how-to-switch-control-to-pop-up-window.html

于 2013-01-31T11:22:04.643 に答える
0

電話する前にこれを試してください

driver.switchTo().window(parentwindow);

あなたは電話するべきです

driver.switchto.defaultcontent .
于 2013-07-15T09:05:20.697 に答える
0

WebDriver で複数のポップアップを閉じすぎて、親ウィンドウに切り替える

String parent = driver.getWindowHandle();
    
Set<String> pops=driver.getWindowHandles();
Iterator<String> it = pops.iterator();
    
while (it.hasNext()) {

    String popupHandle=it.next().toString();

    if(!popupHandle.contains(parent)){
        driver.switchTo().window(popupHandle);
        System.out.println("Popu Up Title: "+ driver.switchTo().window(popupHandle).getTitle());
        driver.close();
    }
}
于 2013-07-15T06:01:45.927 に答える
0
            int i = WebDriver.WindowHandles.Count;
            if (i > 1)
            {
                //switch to child window
                WebDriver.SwitchTo().Window(WebDriver.WindowHandles[1]);
                //switch to parent window
                WebDriver.SwitchTo().Window(WebDriver.WindowHandles[0]);
            }
于 2013-08-28T22:39:20.297 に答える