2017-10-13 1 views
0

In Selen Tests öffnen, ich öffne eine neue Registerkarte mit der folgenden:Wie Rahmen des Fensters wechseln, nachdem eine neue Registerkarte von Selen WebDriver

actions.keyDown(Keys.CONTROL).click($(By.cssSelector(".btn-xs"))).keyUp(Keys.CONTROL).perform(); 

Nach dem oben, ich brauche Rahmen des Fensters wechseln Überprüfen Sie einige Elemente auf dieser Registerkarte (aber ich werde diese Registerkarte nicht sichtbar machen, sollte es ausgeblendet werden, ohne Fokus).

ich versuchte WindowHandles durch folgende zu verwenden:

java.util.Set<String> windowHandles = driver.getWindowHandles(); 

Aber es enthält nur ersten Anfangslasche und 1 Element (während es zwei offene Laschen in den Fahrern).

Wie soll ich das tun?

+0

Machen Sie dasselbe und es in eine Arraylist setzen helfen und sehen, ob Sie die zweite Registerkarte sehen können. – IamBatman

Antwort

0

Bitte versuchen Sie diese

actions.keyDown(Keys.CONTROL).click($(By.cssSelector(".btn-xs"))).keyUp(Keys.CONTROL).perform(); 

//wait for few seconds for loading site 
    for (String windows : driver.getWindowHandles()) { 

       driver.switchTo().window(windows); 

       if (driver.getCurrentUrl().startsWith("xyz.com")) { 

       //Your Operation 
        } 
       if (driver.getCurrentUrl().startsWith("yzx.com")) { 
    //Your Operation 
        } 


      } 

Hier Was ich getan habe, habe ich auf Umleitung klicken link.and für wenige Sekunden für Website load.After Umleitung warten, kehre ich Wunsch Registerkarte Verbindung mit starten, in dem Sie andere geben Bedingung auch !!

Hoffe, dass es Sie

+0

Es funktioniert nicht, weil ich in wd.getWindowHandles() nur ein Element, nicht zwei bekomme. – Tatiana

+0

hier nichts über die element.windowhandles überprüft alle Ihre Registerkarten und finden Sie Ihre Wunsch Registerkarte – zsbappa

+0

Ich meinte die Objekte in Array, ich bekomme nicht die zweite überhaupt durch Ihren Code. – Tatiana

Verwandte Themen