Вы пытаетесь получить Text
элемента <tr>
.
Вам необходимо получить текст <td>
. Поэтому, если вы пытаетесь достичь:
Я пытаюсь проверить, содержит ли таблица тип файла (1-я ячейка), то 3-я ячейка должна содержать jpg или png, et c и 5-й ячейка должна содержать (что-то)
А содержимое HTML выглядит следующим образом:
<table>
<tbody>
<tr>
<td>fig_ure</td>
<td>Some value</td>
<td>jpg</td>
<td>Some other value</td>
<td>Some other value</td>
</tr>
<tr>
<td>Figure</td>
<td>Some value</td>
<td>jpg</td>
<td>Some other value</td>
<td>Some other value which contains the pass word</td>
</tr>
</tbody>
</table>
Примечание. При сравнении текста учитывается регистр. «figure» не будет совпадать с «Figure»
Примечание. Назовите ваши переменные как таковые, чтобы имя немедленно передавало их содержимое
Примечание. Сначала проверьте существование и доступ позже (tdElements.Count > 0?)
var firstTableElement = driver.FindElement(By.TagName("table"));
var trElementList = firstTableElement.FindElements(By.TagName("tr"));
foreach (var trElement in trElementList)
{
var tdElementList = trElement.FindElements(By.TagName("td"));
if (tdElementList.Count > 0)
{
bool trMatchesRequirements =
tdElementList[0].Text == "figure" &&
tdElementList[2].Text.Contains("jpg") &&
tdElementList[4].Text.Contains("pass");
if (trMatchesRequirements)
{
return true;
}
}
}
return false;