2017-02-22 1 views
-1

je dois faire 1. http://the-internet.herokuapp.com/dynamic_loading/1 2. Utilisez attente explicite pendant 30 secondes 3. Cliquez sur le bouton de démarrage et vérifier Bonjour tout le monde !.Utilisation explicite attente et vérifier Bonjour tout le monde

J'ai écrit le code suivant mais element.getText est null.

driver.get("http://the-internet.herokuapp.com/dynamic_loading/1"); 
    WebDriverWait wait=new WebDriverWait(driver, 30); 
    WebElement all=driver.findElement(By.xpath("//*[@id='start']/button")); 
    all.click(); 
    WebElement element=wait.until(ExpectedConditions.presenceOfElementLocated(By.xpath("//*[@id='finish']/h4"))); 
    driver.findElement(By.xpath("//*[@id='finish']/h4")); 
    String text=element.getText(); 
    System.out.println("hi:"+text); 
    //assertEquals("Hello World!", text); 

Répondre

1

changement ExpectedConditions.presenceOfElementLocated

à

ExpectedConditions.visibilityOfElementLocated

Lorsque vous utilisez presenceOfElementLocated, il vérifie les DOM pour voir si elle trouve l'élément spécifié, peu importe ce que sa visibilité est. Par conséquent, vous trouvez que le texte est nul, car l'élément est présent dans DOM mais n'est pas encore visible. En revanche, visibilityOfElementLocated vérifie si l'élément spécifié est disponible et également visible.