2017-09-14 2 views
2

Je suis en train de cliquer sur un lien dans IE 11, et en utilisant le code ci-dessous:L'élément IE ne reçoit pas cliqué dans la première fois à l'aide Sélénium WebDriver

driver.findElement(By.xpath("//a[text()='En savoir plus']")).click(); 

Je ne reçois pas exception, mais la La page ne se déplace pas n'importe où, elle fige également toute la page et je ne peux pas continuer.

j'ai rencontré le même problème il y a quelques années et la solution que je me souviens est d'utiliser la même commande deux fois:

driver.findElement(By.xpath("//a[text()='En savoir plus']")).click(); 
driver.findElement(By.xpath("//a[text()='En savoir plus']")).click(); 

Cela cliquez sur le lien sans succès geler la page.

Y at-il une solution à ce problème?

+2

essayez d'utiliser javascriptExecutor et cliquez dessus – iamsankalp89

Répondre

1

Peut-être que cela aidera?

  try { 
    WebElement yourElement = driver.findElement(By.xpath("//a[text()='En savoir plus']")); 
        if (yourElement.isEnabled() && yourElement.isDisplayed()) { 
         System.out.println("Clicking on element with using javascript click"); 

    ((JavascriptExecutor) driver).executeScript("arguments[0].click();", yourElement); 

} else { 
       System.out.println("Unable to click on element"); 
      } 
     } catch (StaleElementReferenceException e) { 
      System.out.println("Element is not attached to the page document "+ e.getStackTrace()); 
     } catch (NoSuchElementException e) { 
      System.out.println("Element was not found in DOM "+ e.getStackTrace()); 
     } catch (Exception e) { 
      System.out.println("Unable to click on element "+ e.getStackTrace()); 
     } 
    } 
} 
2

Essayez le code ci-dessous, en utilisant la méthode javascript executor.

Note: - Avant d'aller cliquer sur ce bouton, fournir quelques secondes de wait afin que votre conducteur peut en mesure de trouver le webelement.

Pour wait J'utilise la méthode Explicit Wait.

new WebDriverWait(driver, 60).until(ExpectedConditions.elementToBeClickable(driver.findElement(By.xpath("//a[text()='En savoir plus']"))));     //wait for 60 seconds. 
WebElement button = driver.findElement(By.xpath("//a[text()='En savoir plus']")); 
((JavascriptExecutor) driver).executeScript("arguments[0].click();", button); 
+0

Avez-vous essayé ce code? Est-ce que ça marche pour toi? –