2017-02-22 14 views
-1

мне нужно сделать это 1. http://the-internet.herokuapp.com/dynamic_loading/1 2. Используйте Явный Подождите 30 секунд 3. Нажмите на кнопку запуска и проверки Hello World !.Использование Явное ожидание и проверить Привет мир

Я написал следующий код, но element.getText имеет значение 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); 

ответ

1

Изменить ExpectedConditions.presenceOfElementLocated

в

ExpectedConditions.visibilityOfElementLocated

При использовании presenceOfElementLocated, он проверяет DOM, чтобы увидеть, если он находит указанный элемент, независимо от того, что это видимость. Следовательно, вы обнаруживаете, что текст имеет значение null, поскольку элемент присутствует в DOM, но пока не отображается.

С другой стороны, visibilityOfElementLocated проверяет, имеется ли указанный элемент, а также доступен.