2016-07-31 12 views
0

: Ich bin zu Selen und ich habe diese Frage, wo ich eine Schleife durch eine Tabelle benötigen und erhalten Sie die Werte in dieser TabelleWie durchläuft man eine Tabelle in Selen?

<table> 
 
    <tr> 
 
    <td style="width:5px"> 
 
    </td> 
 
    <td> 
 
     <table class="reportTable" id="Allocations"> 
 
     <tbody> 
 
      <tr class="table_header"> 
 
      <td style="width:5px;"> 
 
       <img class="HideImage" src="Images/minus.gif" alt="Hide Details"> 
 
      </td> 
 
      <td style="width:33%"> 
 
       Channel of Trade</td> 
 
      <td style="width:33%"> 
 
       PILOT TRAVEL CENTE-122194-W/S - UNB Contract</td> 
 
      <td style="width:33%"> 
 
       <span id="TruckLoading_10142602_Info" style="COLOR: white;text-decoration:underline;cursor:pointer"> 
 
Trucks loading - 0</span> 
 
      </td> 
 
      </tr> 
 
      <tr> 
 
      <td style="width:5px;"> 
 
      </td> 
 
      <td colspan="3"> 
 
       <table rules="rows" class="reportTable" font-family="Tahoma" pagerstyle-visible="False" id="TerminalGrid" border="1"> 
 
       <tbody> 
 
        <tr class="productlabel2" align="left"> 
 
        <td scope="col" style="width:5px;"> 
 
        </td> 
 
        <td> 
 
         Product Details</td> 
 
        </tr> 
 
        <tr class="hdr2"> 
 
        <td scope="col" style="width:5px;"> 
 
        </td> 
 
        <td scope="col"> 
 
         Fuel Type</td> 
 
        </tr> 
 
        <tr class="FuelTypeHeader"> 
 
        <td style="width:5px;border:none" onclick="ShowHideDetails(this)"> 
 
         <img class="HideImage" src="Images/minus.gif" alt="Hide Details" id="Fuel_Img"> 
 
        </td> 
 
        <td style="border-left:none;border-right:none; padding-left:3px"> 
 
         <table id="C_V" style="width:100%;border-collapse:collapse; border:none; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;"> 
 
         <tbody> 
 
          <tr> 
 
          <td style="width:20em;"> 
 
           <span> 
 
DSL - LSD/ULSD</span> 
 
          </td> 
 
          <td style="width:60em;"> 
 
           <span id="CVSpan"> 
 
<span style="margin-right:10px"> 
 
<span style="float:left;padding-top:3px"> 
 
Currently:</span> 
 
           <span style="float:left;width:6em;padding-top:2px; margin-left:5px; margin-right:5px;margin-top:2px;padding-bottom:2px; text-align:center; background-color:#00FF00;"> 
 
Available</span> 
 
           <span style="float:left; padding-top:3px"> 
 
<b> 
 
30,839</b> 
 
gallons remaining until Mon 8/1/2016 12:00:00 AM CDT</span> 
 
           </span> 
 
           </span> 
 
          </td> 
 
          <td align="right"> 
 
          </td> 
 
          </tr> 
 
         </tbody> 
 
         </table> 
 
        </td> 
 
        </tr> 
 
        <tr style=""> 
 
        <td style="width:5px;"> 
 
        </td> 
 
        <td> 
 
         <table id="ProdDetails" rules="all" pagerstyle-visible="False" style="width: 100%" border="1"> 
 
         <tbody> 
 
          <tr class="table_header2"> 
 
          <th scope="col"> 
 
           Nominated Volume</th> 
 
          <th scope="col"> 
 
           Allocation Period</th> 
 
          <th scope="col"> 
 
           Allocation %</th> 
 
          <th scope="col"> 
 
           Allocation Start Amt</th> 
 
          <th scope="col"> 
 
           Allocation Lifted</th> 
 
          <th scope="col"> 
 
           Allocation Remaining</th> 
 
          <th scope="col"> 
 
           GPO Allowance</th> 
 
          <th scope="col" class="center width8em"> 
 
           GPO Remaining</th> 
 
          <th scope="col"> 
 
           Category Status</th> 
 
          <th scope="col"> 
 
           Ratability Status</th> 
 
          <th scope="col"> 
 
           Next Scheduled Refresh Date</th> 
 
          <th scope="col"> 
 
           Reference ID</th> 
 
          </tr> 
 
          <tr class="tablerow2"> 
 
          <td class="right width8em"> 
 
           41,118</td> 
 
          <td class="center width10em"> 
 
           Daily</td> 
 
          <td class="right"> 
 
           75%</td> 
 
          <td class="right"> 
 
           30,839</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right"> 
 
           30,839</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right width8em bold" id="GPO_Rmd"> 
 

 
           0 
 
          </td> 
 
          <td class="center" style="background-color:#00FF00;"> 
 
           Available</td> 
 
          <td class="center" style="background-color:#0099CC;"> 
 
           Below Trend</td> 
 
          <td class="center width20em"> 
 
           8/1/2016 12:00:00 AM CDT</td> 
 
          <td class="center width20emWordWrap"> 
 
           DSL - LSD/ULSD</td> 
 
          </tr> 
 
          <tr class="tablerow2"> 
 
          <td class="right width8em"> 
 
           287,826</td> 
 
          <td class="center width10em"> 
 
           Weekly</td> 
 
          <td class="right"> 
 
           125%</td> 
 
          <td class="right"> 
 
           359,783</td> 
 
          <td class="right"> 
 
           114,083</td> 
 
          <td class="right"> 
 
           245,700</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right width8em bold" id="GPO_Rmd"> 
 

 
           0 
 
          </td> 
 
          <td class="center" style="background-color:#00FF00;"> 
 
           Available</td> 
 
          <td class="center" style="background-color:#0099CC;"> 
 
           Below Trend</td> 
 
          <td class="center width20em"> 
 
           8/4/2016 12:00:00 AM CDT</td> 
 
          <td class="center width20emWordWrap"> 
 
           DSL - LSD/ULSD</td> 
 
          </tr> 
 
          <tr class="tablerow2"> 
 
          <td class="right width8em"> 
 
           1,233,540</td> 
 
          <td class="center width10em"> 
 
           Monthly</td> 
 
          <td class="right"> 
 
           115%</td> 
 
          <td class="right"> 
 
           1,418,571</td> 
 
          <td class="right"> 
 
           1,361,264</td> 
 
          <td class="right"> 
 
           57,307</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right width8em bold" id="GPO_Rmd"> 
 

 
           0 
 
          </td> 
 
          <td class="center" style="background-color:#FFFF00;"> 
 
           Low</td> 
 
          <td class="center" style="background-color:#00CC00;"> 
 
           On Track</td> 
 
          <td class="center width20em"> 
 
           8/1/2016 12:00:00 AM CDT</td> 
 
          <td class="center width20emWordWrap"> 
 
           DSL - LSD/ULSD</td> 
 
          </tr> 
 
         </tbody> 
 
         </table> 
 
        </td> 
 
        </tr> 
 
        <tr id="GPO_Row"> 
 
        <td style="width:5px;"> 
 
        </td> 
 
        <td> 
 
        </td> 
 
        </tr> 
 
       </tbody> 
 
       </table> 
 
      </td> 
 
      </tr> 
 
      <tr class="table_header"> 
 
      <td style="width:5px;" onclick="ShowHideDetails(this)"> 
 
       <img class="HideImage" src="Images/minus.gif" alt="Hide Details"> 
 
      </td> 
 
      <td style="width:33%"> 
 
       Channel of Trade</td> 
 
      <td style="width:33%"> 
 
       PILOT TRAVEL CENTE-122194-W/S - UNB Fwrd Cont</td> 
 
      <td style="width:33%"> 
 
       <span id="TruckLoading_17049566_Info" style="COLOR: white;text-decoration:underline;cursor:pointer" onclick="GetTruckLoadingInformationJS(this,17049566);"> 
 
Trucks loading - 0</span> 
 
      </td> 
 
      </tr> 
 
      <tr> 
 
      <td style="width:5px;"> 
 
      </td> 
 
      <td colspan="3"> 
 
       <table rules="rows" class="reportTable" font-family="Tahoma" pagerstyle-visible="False" id="TerminalGrid" border="1"> 
 
       <tbody> 
 
        <tr class="productlabel2" align="left"> 
 
        <td scope="col" style="width:5px;"> 
 
        </td> 
 
        <td> 
 
         Product Details</td> 
 
        </tr> 
 
        <tr class="hdr2"> 
 
        <td scope="col" style="width:5px;"> 
 
        </td> 
 
        <td scope="col"> 
 
         Fuel Type</td> 
 
        </tr> 
 
        <tr class="FuelTypeHeader"> 
 
        <td style="width:5px;border:none" onclick="ShowHideDetails(this)"> 
 
         <img class="HideImage" src="Images/minus.gif" alt="Hide Details" id="Fuel_Img"> 
 
        </td> 
 
        <td style="border-left:none;border-right:none; padding-left:3px"> 
 
         <table id="C_V" style="width:100%;border-collapse:collapse; border:none; padding:0px 0px 0px 0px; margin:0px 0px 0px 0px;"> 
 
         <tbody> 
 
          <tr> 
 
          <td style="width:20em;"> 
 
           <span> 
 
DSL - LSD/ULSD</span> 
 
          </td> 
 
          <td style="width:60em;"> 
 
           <span id="CVSpan"> 
 
<span style="margin-right:10px"> 
 
<span style="float:left;padding-top:3px"> 
 
Currently:</span> 
 
           <span style="float:left;width:6em;padding-top:2px; margin-left:5px; margin-right:5px;margin-top:2px;padding-bottom:2px; text-align:center; background-color:#FF0000;"> 
 
Out</span> 
 
           <span style="float:left; padding-top:3px"> 
 
<b> 
 
0</b> 
 
gallons remaining until Mon 8/1/2016 12:00:00 AM CDT</span> 
 
           </span> 
 
           </span> 
 
          </td> 
 
          <td align="right"> 
 
          </td> 
 
          </tr> 
 
         </tbody> 
 
         </table> 
 
        </td> 
 
        </tr> 
 
        <tr style=""> 
 
        <td style="width:5px;"> 
 
        </td> 
 
        <td> 
 
         <table id="ProdDetails" rules="all" pagerstyle-visible="False" style="width: 100%" border="1"> 
 
         <tbody> 
 
          <tr class="table_header2"> 
 
          <th scope="col"> 
 
           Nominated Volume</th> 
 
          <th scope="col"> 
 
           Allocation Period</th> 
 
          <th scope="col"> 
 
           Allocation %</th> 
 
          <th scope="col"> 
 
           Allocation Start Amt</th> 
 
          <th scope="col"> 
 
           Allocation Lifted</th> 
 
          <th scope="col"> 
 
           Allocation Remaining</th> 
 
          <th scope="col"> 
 
           GPO Allowance</th> 
 
          <th scope="col" class="center width8em"> 
 
           GPO Remaining</th> 
 
          <th scope="col"> 
 
           Category Status</th> 
 
          <th scope="col"> 
 
           Ratability Status</th> 
 
          <th scope="col"> 
 
           Next Scheduled Refresh Date</th> 
 
          <th scope="col"> 
 
           Reference ID</th> 
 
          </tr> 
 
          <tr class="tablerow2"> 
 
          <td class="right width8em"> 
 
           0</td> 
 
          <td class="center width10em"> 
 
           Custom 1 day(s)</td> 
 
          <td class="right"> 
 
           100%</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right"> 
 
           0</td> 
 
          <td class="right width8em bold" id="GPO_Rmd"> 
 

 
           0 
 
          </td> 
 
          <td class="center" style="background-color:#FF0000;"> 
 
           Out</td> 
 
          <td class="center" style="background-color:#0099CC;"> 
 
           Below Trend</td> 
 
          <td class="center width20em"> 
 
           8/1/2016 12:00:00 AM CDT</td> 
 
          <td class="center width20emWordWrap"> 
 
           MERC-DSL</td> 
 
          </tr> 
 
         </tbody> 
 
         </table> 
 
        </td> 
 
        </tr> 
 
        <tr id="GPO_Row"> 
 
        <td style="width:5px;"> 
 
        </td> 
 
        <td> 
 
        </td> 
 
        </tr> 
 
       </tbody> 
 
       </table> 
 
      </td> 
 
      </tr> 
 
     </tbody> 
 
     </table> 
 
    </td> 
 
    </tr> 
 
</table>

ich wissen wollte, wie die Tabelle Schleife so Ich kann einen Vertrag bekommen, der "PILOT TRAVEL CENTE-122194-W/S - UNB Vertrag", "PILOT TRAVEL CENTE-122194-W/S - UNB Fwrd Cont" und "UNB Spot" zusammen mit den Daten der Tabelle auch ist . Vielen Dank im Voraus.

+0

Was hast du selbst versucht ?? Und was war das Ergebnis? –

+0

Ich habe versucht, die Tabelle zu loopen, aber ich bekam den Vertrag mit den ersten 3 Datensätzen und auch der Vertrag wurde in der 4. Zeile hinzugefügt. Ich wollte den ersten Vertrag für die ersten 3 Zeilen bekommen und nicht für die vierte Zeile –

+0

Könnten Sie teilen, die Sie bereits versucht haben ?? –

Antwort

1

Ok du hast nichts gesagt über die Sprache verwenden Sie so gebe ich Ihnen beispielsweise in C#

//Init table element (in this case by tag name but better chose by id or Name) 
IWebElement tableElement = driver.FindElement(By.TagName("table")); 

//Init TR elements from table we found into list 
IList<IWebElement> trCollection = tableElement.FindElements(By.TagName("tr")); 
//define TD elements collection. 
IList<IWebElement> tdCollection; 

//loop every row in the table and init the columns to list 
foreach(IWebElement element in trCollection) 
{ 
    tdCollection = element.FindElements(By.TagName("td")); 

    //now in the List you have all the columns of the row 
    string column1 = tdCollection[0].Text; 
    string column2 = tdCollection[1].Text; 
    ... 
} 

wenn Sie andere Sprache verwenden nur die Syntax ändern die Logik ist die gleiche.

+0

Ich verwende die gleiche Logik von Ihnen gegeben, aber immer "Element" = null –

+0

, so dass Sie nicht tr Tags in Ihrer Tabelle haben .. –

+0

Ich bekomme tr count perfekt. h. 10. Aber Problem ist nur mit Element. –