Добрый день.
Кусок html:
<tbody>
<tr>
<td class="text-start">
<span data-v-b91c7d64="">
<a data-v-b91c7d64="" href="/preparation/view/bf304fbb-2ae6-42ed-aab3-489c9b8d3586?sequence_id=2969" class="link">2969</a>
</span>
</td>
</tr>
</tbody>
Вопрос в следующем:
Как методами Selenide получить tr по тексту из span? (который 2969)
Пробовал сделать следующее:
public SelenideElement getRowFromTableOnValue(String searchValue) {
SelenideElement findRowInTableWithValue = $(byXpath("//tbody/tr")).find(byText(searchValue));
return findRowInTableWithValue.closest("#tr");
}
Но как я понимаю поиск происходит на уровне элемента td.
Пробовал указывать путь так //tbody/tr/td, но так тоже не работает.
P.S
сразу напишу, что задача легко решается через xpath:
public SelenideElement getRowFromTableOnValue(String searchValue) {
SelenideElement findRowInTableWithValue = $(byXpath("//tbody/tr")).$x(String.format(".//*[text()='%s']", searchValue));
return findRowInTableWithValue.$x("./ancestor::tr");
}
Но интересно, как она решается именно через методы Selenide (имеется ввиду методы find или что то подобное)