2017-10-05 1 views
0

Dans l'exécution des tests de sélénium que je reçois:Erreur: L'élément n'est pas cliquable. Autre élément recevrait le clic

unknown error: Element ... is not clickable at point (1147, 21). Other element would receive the click: < span id="schoolName_">... (Session info: chrome=59.0.3071.115)

code commence ici:

List<WebElement> button = driver.findElements(By.xpath("//*[@class='btn btn-primary']")); 
     for (WebElement firstbutton : button) { 

      int count = 1; 
      System.out.println("count is " + count + " Hence it should click he button if button is displayed : "); 
      if (count == 1) { 

       // ((JavascriptExecutor) 
       // driver).executeScript("scroll(0,400)"); 
       // act.moveToElement(firstbutton).click(); 
       firstbutton.click(); 
       System.out.println("Save button is clicked"); 
       break; 
      } else { 
       System.out.println("Button is already clicked"); 
      } 
     } 

Répondre

0

Vous devez utiliser focus ou faire défiler sur cet élément. Vous pourriez aussi avoir à utiliser explict wait.

WebElement firstbutton= driver.findElement(By.xpath("Your Element")); 
Actions actions = new Actions(driver); 
actions.moveToElement(element); 
actions.perform(); 

Si toujours pas utiliser JavascriptExecutor

JavascriptExecutor executor = (JavascriptExecutor)driver; 
executor.executeScript("arguments[0].click();", firstbutton); 

espère que cela vous aidera :)

+0

Salut @Shubham, tout en utilisant la classe d'action, il fonctionne correctement pour le navigateur Google Chrome, mais sa ne fonctionne pas dans mozilla. Mais javascriptExecutor fonctionne à la fois dans le navigateur et je suis capable de cliquer sur l'élément. Merci de votre aide. –