2016-07-31 7 views
0

私はセレンに新しいですし、私は私が知りたかったセレンでテーブルをループする方法は?

<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>

そのテーブル内の値を、テーブルをループする必要があると取得この質問を持ってどのようにループテーブルをします私はテーブルのデータとともに「パイロットトラベルセンター122194-W/S-UNB契約」、「パイロットトラベルセンター122194-W/S-UNB Fwrd Cont」および「UNBスポット」という契約を得ることもできます。 ありがとうございます。

+0

あなたは何を試しましたか?そして、結果は何でしたか? –

+0

私はテーブルをループしようとしましたが、私は最初の3レコードと契約を結んでいましたし、契約も4行目に追加されていました。 私は最初の3列目のolyで、4列目ではない最初の契約を手に入れたかった –

+0

どちらも既に試してみましたか? –

答えて

1

[OK]を、あなたはあなたがロジックが同じである構文を変更するだけで他の言語を使用している場合ので、私は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; 
    ... 
} 

を例を与える使用している言語については何も言ってませんでした。

+0

私は同じロジックを使用していますが、 'element' = nullを取得しています –

+0

テーブルにtrタグがありませんでした。 –

+0

私はtrカウントが完璧です。すなわち、問題は唯一の要素である。 foreachで –

関連する問題