2012-07-06 22 views

Respuesta

5

selenio no tiene ninguna posibilidad de cambiar las fichas por el momento. Debido a esto, obligamos al navegador a abrir enlaces en ventanas nuevas, pero como podemos cambiar de ventana, obligamos al navegador a adoptar el enfoque. Este puede arreglarse en una versión posterior

+0

claro, gracias – khris

10

Selenium tiene la capacidad de cambiar las pestañas de hoy en día. El Code1 a continuación: trabajará para Firefox, Código2: para IE y cromo mediante el uso de la clase Robot que podemos hacer y el control duerma moverá automáticamente a la pestaña actual, de modo que necesitamos para cambiar a la ficha actual mediante el uso de identificadores de ventana método. El código se indica a continuación va a funcionar bien cuando estamos ejecutando la escritura individual, pero cuando se ejecuta como una suite se puede sentir el dolor en la realización de los eventos clave de mesa. Con el fin de evitar que llegamos a ir con otra posibilidad mediante el uso de JavaScript definida por el usuario mediante el uso de JavaScript método ejecutor en selenio en Java.

Podemos cambiar entre las ventanas y pestañas mediante la identificación de su nombre asignado a cada una y todas las ventanas que abierto y el nombre será de carácter alfanumérico.

***Code 1*** 
    //First tab(default tab) 
    driver.navigate().to("http://www.google.com"); 
    driver.manage().window().maximize(); 

    //second tab 
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t"); 
    driver.navigate().to("https://yahoo.com"); 

    //third tab 
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "t"); 
    driver.navigate().to("http://www.google.com"); 

    //move to very first tab. 
    driver.findElement(By.cssSelector("body")) 
      .sendKeys(Keys.CONTROL + "\t"); 

    // To close the current tab.  
    driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL + "w"); 
    **code 2** 
    driver.navigate().to("http://www.google.com"); 
    driver.manage().window().maximize(); 


    Robot robot = new Robot(); 
    robot.keyPress(KeyEvent.VK_CONTROL); 
    robot.keyPress(KeyEvent.VK_T); 

    Set<String> handles = driver.getWindowHandles(); 
    List<String> handlesList = new ArrayList<String>(handles); 
    String newTab = handlesList.get(handlesList.size() - 1); 

    // switch to new tab 
    driver.switchTo().window(newTab); 
    driver.get("http://www.yahoo.com"); 
Cuestiones relacionadas