Я использую селен для тестирования моего веб-приложения с помощью chromedriver, однако селен не может найти нужный мне элемент.
HTML-код, который я запрашиваю:
<table>
<thead><thead>
<tbody>
<tr>
<td></td>
<td>
<span class="class1">
<span>Test text</span>
</span>
<ul>
<li class="class2"><a href="#">Edit</a></li>
<li class="class2"><a href="#">Remove</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
Я пытаюсь выбрать веб-элемент:
<a href="#">Edit</a>
Я пробовал следующее с помощью селекторов CSS:
table > tbody > tr:first-child > td:nth-child(2) > ul > li:first-child > a
и такой же запрос с использованием XPath:
//table/tbody/tr/td/following-sibling::td[1]/ul/li/a
Когда я отлаживаю это и использую быстрые часы для динамического изменения запроса, оба запроса работают до тех пор, пока я не попытаюсь выбрать ul; например:
table > tbody > tr:first-child > td:nth-child(2)
И
//table/tbody/tr/td/following-sibling::td[1]
Оба правильно выбирают содержимое правильного тд, содержащего ул. Когда я пытаюсь заставить любого из них получить ul, каждый из вариантов выбора становится нулевым.
Итак, у меня есть две проблемы: почему я не могу выбрать элемент ul с помощью селекторов CSS или XPath, и есть ли другой метод, который я могу использовать, чтобы выбрать первый тег в списке с текстом «Редактировать».
Приветствия