Selenium IDE - 如何检查元素是否(CSS)可见?

时间:2013-02-07 12:20:23

标签: css selenium selenium-ide

示例1:检查Twitter Bootstrap模式是否已打开。

模式已存在于页面上,但在使用CSS时隐藏,直到打开模态。那么如何验证模态实际打开了?

示例2:检查是否显示了用户错误消息div。

错误消息div始终存在,但在需要之前使用CSS隐藏。如何验证消息是否可见?

3 个答案:

答案 0 :(得分:10)

您可以尝试使用verifyVisible命令。这将查看css以查看是否设置了可见性或显示。如果其中任何一个可见,则返回true,否则返回false。 您需要传入一个定位器。使用由css控制的模态元素。

答案 1 :(得分:1)

答案1:

您可以通过查看模式中网页元素的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");
}

答案 2 :(得分:0)

以下可能对您有用。

只要将你的元素传递给这个方法,如果该元素在dom中可见,它将返回true,否则它将返回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博文