if(driver.findElement(By.xpath("xxx")).isDisplayed() != True){
    //if clicked in the above condition is True then it has to be opened in a new window
    driver.findElement(By.xpath("xxx")).click();
}

else {
    System.out.println("element not present -- so it entered the else loop");
}
  • Si el elemento tiene haga clic en la acción, y cuando hacemos clic en ese elemento, haga clic en abrir automáticamente una nueva ventana.
InformationsquelleAutor kripindas | 2015-07-24

3 Comentarios

  1. 4

    Puede abrir enlace en una nueva ventana usando el siguiente código :

    WebElement link = driver.findElement(By.xpath("your link xpath"));
    Actions newwin = new Actions(driver);
    newwin.keyDown(Keys.SHIFT).click(link).keyUp(Keys.SHIFT).build().perform();
    Thread.sleep(6000);

    Por lo general, pulse la tecla MAYÚS y haga clic con el ratón para abrir un enlace en una nueva ventana , yo hice lo mismo aquí a través de código en selenio.

  2. 1

    Otra manera es la inyección de JS para establecer el atributo de destino de un enlace:

    WebElement link = driver.findElement(By.linkText("my link"));
    JavascriptExecutor js = (JavascriptExecutor) driver;
    String script = "return arguments[0].target='_blank'";
    Object result = js.executeScript(script, link);
    link.click();

    El resultado de la línea, probablemente puede ser ignorado, pero he encontrado este ser más fiable.


    Por el camino:

    1) Nunca comparar a verdadero o falso. En lugar de

        if (condition != true)

    escribir

        if (! condition)

    2) no se ven hasta el mismo elemento cada vez. Mira una vez y guardar la referencia.

    3) Usted no puede hacer clic en un vínculo que no se muestra.

  3. 1

    Puede utilizar el siguiente fragmento de código; sólo reemplazar el localizador con lo que usted desea, y se debe trabajar:

    driver.get("https://www.google.co.in");
    
    Actions act = new Actions(driver);
    act.moveToElement(driver.findElement(By.xpath("//a[.='हिन्दी']"))).contextClick().sendKeys(Keys.DOWN).sendKeys(Keys.DOWN).sendKeys(Keys.ENTER).build().perform();

    El fragmento anterior se desplaza al sitio de Google, a continuación, hace clic en la cuestión link «हिन्दी» en este caso, y utiliza la tecla hacia abajo dos veces para llegar a la opción de «Abrir enlace en una ventana nueva» y, a continuación, envía la tecla «Enter» para hacer clic en él, que luego se abre una nueva ventana.

    NOTA:- Esto funciona bien en Firefox y Chrome. En el caso de Internet Explorer, es posible que tenga que agregar un extra sendKeys(keys.DOWN) y debe ser bueno porque la opción «Abrir enlace en una ventana nueva» viene en el tercer lugar. Por favor, compruebe el fragmento de cambio para el mismo, a continuación:

    act.moveToElement(driver.findElement(By.xpath("//a[.='हिन्दी']"))).contextClick().sendKeys(Keys.DOWN).sendKeys(Keys.DOWN).sendKeys(Keys.DOWN).sendKeys(Keys.ENTER).build().perform();

Dejar respuesta

Please enter your comment!
Please enter your name here