2013-02-07 132 views
5

示例1:檢查Twitter Bootstrap模式是否已打開。Selenium IDE - 如何檢查元素是否(CSS)可見?

該模式已存在於該頁面上,但在CSS模式被打開之前被CSS隱藏。那麼如何確認實際打開的模式?

示例2:檢查是否顯示了用戶錯誤消息div。

錯誤消息div始終存在,但在CSS被隱藏之前一直存在。如何驗證消息是否可見?

回答

9

你可以嘗試使用verifyVisible命令。這看着CSS來查看是否設置了可見性或顯示。如果其中任何一個可見,則返回true,否則返回false。 您需要傳入定位器。使用由css控制的模態元素。

0

下面可能對您有幫助。

只要將您的元素傳遞給此方法,它將返回true,如果該元素在dom中可見,則返回false。

isElementPresent(WebDriver driver,By by) 
{ 
    driver.manage().timeouts().implicitlyWait(0, TimeUnit.SECONDS); 
    try 
    { 
     driver.findElement(by); 
     return true; 
    } 
    catch(Exception e) 
    { 
     return false; 
    } 
    finally 
    { 
     driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 
    } 
} 

欲瞭解更多信息請參閱this博客文章

1

答1:

您可以通過檢查Web元素的PresenceVisibility在模態檢查的模態。

答2:

您可以檢查錯誤消息的Visibility參數。

要檢查元素存在:

if(driver.findElements(By.xpath("value")).size() != 0){ 
System.out.println("Element is Present"); 
}else{ 
System.out.println("Element is Absent"); 
} 

或者

if(driver.findElement(By.xpath("value"))!= null){ 
System.out.println("Element is Present"); 
}else{ 
System.out.println("Element is Absent"); 
} 

檢查可見:

if(driver.findElement(By.cssSelector("a > font")).isDisplayed()){ 
System.out.println("Element is Visible"); 
}else{ 
System.out.println("Element is InVisible"); 
} 
+0

'findElement'不一樣,如果該元素是返回null找不到,但會拋出一個'ElementNotFoundException' 。請參閱[文檔](http://www.seleniumhq.org/docs/03_webdriver.jsp#locating-ui-elements-webelements) –