Найти все <tr>, в которых есть <a>, где href содержит строку "xxx"?

Как использовать xpath, чтобы получить все <tr>с, который содержит <a> с href, содержащим строку "xxx"?

.......
<tr><td>...</td><td><a href="xxx3" /a></td><td>...</td>......</tr> <!-- yes -->
<tr><td>...</td><td>...</td><td><a href="ab_xxx" /a></td>......</tr> <!-- yes -->
<tr><td>...</td><td>...</td><td>...</td>......</tr> <!-- no-->
.....

1 ответ

Решение

Попробуйте xpath:

//tr[.//a[contains(@href, 'xxx')]]

Пара заметок:

  • Это должно быть .//a вместо //a (обратите внимание на начальный период). Период говорит, что нужно искать в любом месте текущего узла (то есть tr). Без точки он ищет привязку, присутствующую где-либо в документе.
  • contains Метод используется для проверки, содержит ли атрибут href строку.
Другие вопросы по тегам