Я пытаюсь перебрать строки в таблице, вытягивая текст из второго 'td' каждой строки и сравнивая его со значением из списка.Несмотря на то, что номер индекса идет в обратном направлении, при использовании в качестве номера индекса для строк 'tr', найденных с помощью 'FindElements', он не перемещается на следующую строку, поэтому каждый раз возвращает текст из первой строки.
List<string> policyList = parsePolicyTable(driver, pageaction);
int numofPolicies = policyList.Count();
for (var polListIndex = 0; polListIndex < numofPolicies; polListIndex++)
{
By polTableBy = ObjRepository("PolicySearch", "PolicyTable");
IWebElement polTable = driver.FindElement(polTableBy);
var rows = polTable.FindElements(By.TagName("tr"));
int rowNum = rows.Count();
for (var searchResultRow = 0; searchResultRow < rowNum; searchResultRow++)
{
//IWebElement polNumRow = rows.ElementAt(searchResultRow);
IWebElement polNumElem = rows[searchResultRow].FindElement(By.XPath("//td[2]"));
string polNum = polNumElem.Text;
string listPolNum = policyList[polListIndex];
WritetoLogFile("Policy Number [" + searchResultRow + "] from Search - " + polNum + " | Policy Number [" + polListIndex + "] from List - " + listPolNum);
Вывод:
Номер политики [0] из поиска - XAL0001046-2 |Номер политики [0] из списка - XAL0001028-0
Номер политики [1] из поиска - XAL0001046-2 |Номер политики [0] из списка - XAL0001028-0
Номер политики [2] из поиска - XAL0001046-2 |Номер политики [0] из списка - XAL0001028-0
Я также попытался, закомментировал выше, найти следующую строку, используя функцию .ElementAt с тем же результатом.
Что такоеЯ пропал?
HTML ...
<tr class="odd">
<td title="Click to select this policy">
<input type="radio" name="Policy" id="Policy1039" value="1039">
</td>
<td>
<span class="link8pt cppsInfo" title="XAL0001039-7" data-policynumber="XAL0001039-7">XAL0001039-7</span>
</td>
<td title="Policyholder" style="white-space: nowrap;">SHOREY, NORMAND</td>
<td title="Policyholder Phone Number(s)" style="white-space: nowrap;">(216) 657-7668 (H)</td>
<td title="Policyholder Address">13675 HIGHWAY 43<br>RUSSELLVILLE, AL 35653-2831</td>
<td>
<span class="linkCompact agencyInfo" title="TEST AGENCY #1" data-agencyid="9000">9000-TEST AGENCY #1</span>
</td>
<td title="Policy Issue Date">08/31/2018</td>
<td title="Policy Expiration Date">03/01/2019</td>
<td> </td>
<td> </td>
<td title="Email Address"></td>
<td title="Policy Term">6 months paid in full</td>
</tr>
<tr class="even">
<td title="Click to select this policy">
<input type="radio" name="Policy" id="Policy1037" value="1037">
</td>
<td>
<span class="link8pt cppsInfo" title="XAL0001037-1" data-policynumber="XAL0001037-1">XAL0001037-1</span>
</td>
<td title="Policyholder" style="white-space: nowrap;">SMITH, JAMES</td>
<td title="Policyholder Phone Number(s)" style="white-space: nowrap;">(205) 441-4444 (C)</td>
<td title="Policyholder Address">100 HUEYTOWN ROAD<br>HUEYTOWN, AL 35023</td>
<td>
<span class="linkCompact agencyInfo" title="TEST AGENCY #1" data-agencyid="9000">9000-TEST AGENCY #1</span>
</td>
<td title="Policy Issue Date">08/30/2018</td>
<td title="Policy Expiration Date">03/01/2019</td>
<td class="xmark" title="This policy has a cancellation notice">X</td>
<td> </td>
<td title="Email Address"></td>
<td title="Policy Term">6 month/5 pay - 17% down</td>
</tr>