2016-08-24 1 views
0

Ich muss ein untergeordnetes Fenster schließen und zurück zum übergeordneten Fenster um einige Operationen durchzuführen.Wie zum Selenium WebDriver zurück zum Elternfenster zu wechseln?

public void setUp() throws Exception { 
    driver = new FirefoxDriver(); 
    baseUrl = "http://www.example.com/"; 
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
} 

@Test 
public void testUntitled2() throws Exception { 
    driver.get(baseUrl + "/info.php"); 
    driver.findElement(By.cssSelector("i.fa.fa-facebook-sq")).click(); 
    for (String winHandle : driver.getWindowHandles()) { 
     driver.switchTo().window(winHandle); 
    } 

    // Perform the actions on new window 
    driver.close(); // This will close new opened window 

    //driver.switchTo().window(winHandleBefore); // I need to perform below 

    driver.findElement(By.cssSelector("i.fa.fa-twitter-square")).click(); 
    driver.findElement(By.cssSelector("i.fa.fa-google-plus- squ)).click(); 
    driver.findElement(By.cssSelector("i.fa.fa-linkedin-square")).click(); 
} 
+0

Mögliche Duplikat von [Wie die Steuerung von in Selen WebDriver eines Fensters übergeordnete Fenster wechseln?] (Http://stackoverflow.com/questions/14620253/how-to-switch-control-from-child- Fenster-zu-Eltern-Fenster-in-Selen-Webdriver) –

Antwort

0

Sie können diesen Code verwenden, um zum untergeordneten Fenster und dann zurück zum übergeordneten Fenster zu wechseln.

Code:

String parentWindowHandler = driver.getWindowHandle(); // Store your parent window 
      String subWindowHandler = null; 

      Set<String> handles = driver.getWindowHandles(); // get all window handles 
      Iterator<String> iterator = handles.iterator(); 
      while (iterator.hasNext()){ 
       subWindowHandler = iterator.next(); 
      } 
      driver.switchTo().window(subWindowHandler); 

*****perform operations on child window****************** 

driver.switchTo().window(parentWindowHandler); 

Ich hoffe, das Ihr Problem

0

erstellen lösen parentWindowHandle String-Variable vor for Schleife und speichern Window dort. Sobald Sie mit Ihrer Operation mit Kindfenster fertig sind, gehen Sie zurück zu diesem parentWindowHandle.

String parentWindowHandle = driver.getWindowHandle(); 
/* You code to move to child window*/ 

//After you done with child window 
driver.switchTo().window(parentWindowHandle); 
Verwandte Themen