【问题标题】:Count number of elements that has a score计算有分数的元素个数
【发布时间】:2012-09-16 10:28:43
【问题描述】:

有没有办法统计不等于 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

【问题讨论】:

    标签: selenium phpunit selenium-ide


    【解决方案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++;
                  }
    
    
              } 
    
    
    
    
    }
    

    【讨论】:

    • 谢谢。你的两个答案都很有帮助。即使我不懂 Java,我也必须想办法将其转换为 PHP。
    【解决方案2】:

    更好的方法如下所述。我用 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 的元素

    【讨论】:

    • 谢谢。你的两个答案都很有帮助。即使我不懂 Java,我也必须想办法将其转换为 PHP。
    猜你喜欢
    • 2014-01-29
    • 1970-01-01
    • 2021-12-16
    • 2016-08-31
    • 2020-06-03
    • 2021-05-14
    • 2016-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多