2017-02-22 89 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,看它是否找到指定的元素,不管它的可見性。因此,您會發現文本爲空,因爲該元素存在於DOM中,但尚不可見。

另一方面,visibilityOfElementLocated檢查指定的元素是否可用並且可見。