如何检查Web表单元素是否与selenium一起存在

时间:2012-09-14 11:56:02

标签: testing selenium web

我需要检查当前网页中是否存在带有selenium的表单元素。 有人知道该怎么做吗?

3 个答案:

答案 0 :(得分:2)

有两种方法可以做到这一点。要么使用lefthandedgoat的版本捕获异常,要么使用FindElements方法并检查它的大小,所以像(在C#中使用LINQ):

public bool IsElementPresent(By selector)
{
    return driver.FindElements(selector).Any();
}

任何一个选项都可以正常运行,并没有太大的不同。我个人使用另一种方式,但想确保你知道通常有两种方法可以做到这一点。您没有提及某种语言,因此,如果您使用的是特定语言,请告诉我们。

值得注意的是,在Selenium中执行FindElement()时,它正在执行此方法。

答案 1 :(得分:1)

在C#版本的selenium中,如果该元素不存在,它将抛出异常。你可以做这样的事情

public bool Exists(string cssSelector)
{
  try
  {
    browser.FindElement(By.CssSelector(cssSelector));
    return true
  }
  catch (Exception ex){}

  return false;
}


var exists = Exists("form");

我不确定webdriver在其他语言中的表现如何。

答案 2 :(得分:0)

你可以使用一对方法:

input.findElements(By.xpath("//....blablalba....")).size() > 0

driver.findElement(By.xpath("//....blablalba....")).isDisplayed()