2013-07-29 99 views
0

检查使用正常的webdriver方法findElements元素很容易,如:使用Selenium WebDriver页面工厂检查元素是否存在?

boolean exists = driver.findElements(By.id("...")).size() != 0 

元素通过页面出厂初始化是这样的:

但是我们怎么能检查在我们的页面这个元素是否存在于页面上?

+0

其结合你用'selenium-webdriver'? –

+0

@Babai:我使用java与selenium-webdriver –

+0

@vincebowdren assert可能只是失败的测试用例,我想要的是,基于元素的决定是否存在于页面上或不是 –

回答

0

这里的东西,我想出了:

public boolean isElementPresent(WebElement we) 
    { 
     try { 

      we.getTagName(); 

     } catch (NoSuchElementException e) { 
      flag = 1; 
     } 
     if (flag == 1) 
      return true; 
     else 
      return false; 
    } 

这是非常简单而有效的方式做到这一点..

0

isDisplayed()方法应该做的工作:

if (filterText.isDisplayed()) { 
    filterText.doStuff(); 
} 
+0

是的,它会完成工作,但有时有些元素存在,但在特定时间点被隐藏! 这不会捕获,我想出了一些东西,看看它 http://stackoverflow.com/a/18145746/2043083 –

+1

它只会在元素在页面上时才起作用。如果不是,它会返回一个异常! –

相关问题