J'ai plusieurs tables et la valeur Location est donnée dans un ordre d'index différent. Comment puis-je obtenir la valeur de l'emplacement si la chaîne de cellule précédente est "Location" lorsque je parcours la table. Sur l'exemple ci-dessous ce sont les cellules [7] mais sur l'autre table ce sera 9. Comment puis-je obtenir des valeurs conditionnellement après que le texte interne des cellules soit "Emplacement"? Fondamentalement trouver la cellule "Location" obtenir le texte interne de la cellule suivante.Html Agility Pack Loop Through Table - Récupère la valeur de la cellule en fonction de la valeur de la cellule précédente
Html Tableau:
<table class="tbfix FieldsTable"">
<tbody>
<tr>
<td class="name">Last Movement</td>
<td class="value">Port Exit</td>
</tr>
<tr>
<td class="name">Date</td>
<td class="value">26/06/2017 00:00:00</td>
</tr>
<tr>
<td class="name">From</td>
<td class="value">HAMBURGE</td>
</tr>
<tr>
<td class="name">Location</td>
<td class="value">EUROGATE HAMBURG</td>
</tr>
<tr>
<td class="name">E/F</td>
<td class="value">E</td>
</tr>
</tbody>
Controller Loop Through:
foreach (var eachNode in driver.FindElements(By.XPath("//table[contains(descendant::*, 'Last Movement')]")))
{
var cells = eachNode.FindElements(By.XPath(".//td"));
cd = new Detail();
for (int i = 0; i < cells.Count(); i++)
{
cd.ActionType = cells[1].Text.Trim();
string s = cells[3].Text.Trim();
DateTime dt = Convert.ToDateTime(s);
if (_minDate > dt) _minDate = dt;
cd.ActionDate = dt;
}
}