计算具有分数的元素数量

时间:2012-09-24 22:39:13

标签: selenium phpunit selenium-ide

有没有办法计算不等于0.00的元素数量?

例如,代码是

<div id="average_2123" style="font-size:20px; ">0.00</div>
<div id="average_2124" style="font-size:20px; ">23.53</div>
<div id="average_2125" style="font-size:20px; ">0.00</div>

我如何计算元素,因此它只有1,因为只有其中一个有分数?

我想在PHPUnit上执行此操作。我也可以在Selenium IDE上做,因为我可以将它转换为PHPUnit

2 个答案:

答案 0 :(得分:1)

您必须编写自定义代码。我正在写java伪代码。希望你能理解和转换

List<WebElements> ElemList = Webdriver.FindElements(By.Xpath("//div")

for (i = 0; i < ElemList.size();i++)
{

          WebElement Current =List.getElementAt(i);
          String ElemName = current.getAttribute("id");
          String text =""
          int Count = 0;  
          if( id.Contains("average"))
          {

              if( !id.getAttribute("value").equals("0.00")
              {
                  count++;
              }


          } 




}

答案 1 :(得分:1)

更好的方法可以如下所述。我用Java编写代码:

List<WebElement> elemList = driver.findElements(By.cssSelector("div[id^='average']"));
List<WebElement> filteredElements = new ArrayList<WebElement>();
    for (WebElement element : elemList) {
        if (Long.parseLong(element.getText()) > 0.00)
            filteredElements.add(element);
    }

这将找到“id”属性以“average”开头的所有元素。

另外在这里我将文本转换为long然后比较它是否大于0.00

filteredEleemnts是值大于0.00的元素