如何检查每个元素是否都有ID?

时间:2016-10-10 20:47:38

标签: selenium-webdriver

我们只想确保在Dev团队实施的Web代码中,每个元素都有ID属性值。

我该怎么检查?谢谢!

2 个答案:

答案 0 :(得分:2)

在浏览器中测试此xpath://*[string(@id)]这不仅会为您提供具有ID的元素,而且还会为其ID提供一些值。开发者可能忘记输入id。然后,使用此//*获取所有元素。如果您想要具有id(空白或填充)的元素,请使用此//*[@id]

答案 1 :(得分:1)

(假设您正在使用Java),有一个方法WebElement#getAttribute(),您可以在其中获取元素的任何属性值。

  

我们只想确保在Dev团队实施的Web代码中,每个元素都有一个ID属性值。我怎么检查?

您需要首先找到所有元素然后在循环内部,您可以使用ID确定每个元素是否具有属性getAttribute("id"),如下所示: -

public boolean isAllElementsHasId() 
{
    boolean isAllElementsHasId = true;

    List<WebElement> allPageElements = driver.findElements(By.cssSelector("*"));

    for(WebElement el : allPageElements)
    {
        if(el.getAttribute("id") == null)
        {
          isAllElementsHasId = false;
          break;
        }
    }
    return isAllElementsHasId
}

用法

if(isAllElementsHasId() == true)
{
    System.out.println("All elements in the page has an attribute ID");
}