2016-07-04 6 views
-2

この場合、各顧客が保有する製品の数を計算する必要があります。これを解決しようとする私の試みは、 "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> 
+0

は(することにより、このライン 'driver.findElementsに問題ものです。 xpath( "// label [@ class = 'ticket-type']")); '... –

+0

@Saurabh - 私はライトカウントを取得していません。 "li"タグのように5つの製品が必要です。 – AzMar

+0

あなたは 'driver.findElementsを試してみましたか(By.xpath(" // div [@ class = 'accordion-drop']/ul/li "));' – Madhan

答えて

0

以下のコードを試してください:

// 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); 

ホープこれは

+0

@カーティク - まだ最初の行からライトカウントを取得していません。 – AzMar

+0

あなたは観察している数はどれくらいですか? –

+0

商品の総数は:20個ですが間違っていますが、最後の製品の名前が正しいものになっています。私はxpath( ".//div[@class='accordion-drop']/ul/li")はまだ修正する必要があると思います。 – AzMar

0

はこれを試すことができます:

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(); 
関連する問題