selenium 计算元素数

ldioqlga  于 2022-11-24  发布在  其他
关注(0)|答案(2)|浏览(166)

我需要计算元素的数量,在本例中是每个客户持有的产品数量。我尝试通过计算“li”标记的数量,然后访问“ticket-type”来解决此问题。关于如何实现此目的,您有什么建议吗?:

List<WebElement> labels = driver.findElements(By.xpath("//label[@class='ticket-type']"));
int ProdNum = labels.size();
String strI1 = Integer.toString(ProdNum);
System.out.print("Number of products on this card:" + strI1);
// getting the name of the last product
String LastProd = labels.get(labels.size() - 1).getText();
System.out.print("The last ordered product was:" + LastProd);

下面显示了用于此操作的.html代码,其中有5个产品需要计数。

<div class="card-details row">
  <div class="pane base4">
  <div class="pane base4">
    <div class="vertical-accordion">
       <ul id="accordion-9" class="accordion">
          <li class="open-li">
             <a class="toggle-link open" href="#">
             <div class="accordion-drop" style="display: block;">
                <ul>
                   <li>
                      <label class="ticket-type">7 day megarider</label>
                      <label class="validity"> (7 day: 04 July to 10 July 2016 ) </label>
                   </li>
                   <li>
                   <li>
                   <li>
                   <li>
              </ul>
          </div>
        </li>
     </ul>
  </div>
</div>
9fkzdhlc

9fkzdhlc1#

请尝试以下代码:

// Getting total count of all li tag elements
List<WebElement> prodsCount = driver.findElements(By.xpath(".//div[@class='accordion-drop']/ul/li"));
System.out.println("Total number of products are " + prodsCount.size());

// Getting the last item name
String lastProdName = driver.findElement(By.xpath(".//div[@class='accordion-drop']/ul/li[last()]/lable[1]")).getText();
System.out.println("Last product name is " + lastProdName);

希望这对你有帮助

nbysray5

nbysray52#

试试这个:

List<WebElement> numOfLiTag = driver.findElements(By.xpath(".//ul[@id='accordion-9']/li/div/ul/li[5]/label[1]"));
    int liTagcount = numOfLiTag.size();
    String abc = driver.findElement(By.xpath(".//ul[@id='accordion-9']/li/div/ul/li[5]/label[1]")).getText();

相关问题