Вопрос о Selenium: найти элемент по дочернему тексту ссылки - PullRequest
0 голосов
/ 29 октября 2018

Внешний вид, над которым я работаю, выглядит так, и будет много похожих с разными датами. На сайте это отображается в виде формы.

<tr>
    <td height="15"><a href="link"><font size="3">file.zip</font></a></td>
    <td height="15"><font size="3">10-29-2018</font></td>
</tr>

На высоком уровне я хочу загрузить все файлы для определенного дня, например "10-29-2018".

При реализации я пытаюсь сначала получить все родительские веб-элементы, чей дочерний элемент имеет текст, такой как «10-29-2018». И через эти родительские элементы я могу получить «ссылку» для скачивания.

Я застрял при поиске элемента по тексту ссылки его дочернего элемента. Мне интересно, есть ли способ сделать это. Спасибо!

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

В пределах <tr> среди нескольких <td> вам нужно найти <td>, содержащий дату, например, 10-29-2018 , а в отношении этого <td> вам нужно найти предыдущее <td> с тегом <a> в качестве потомка , который вы можете щелкнуть (), чтобы начать загрузку , и вы можете использовать xpath как:

//tr//td[contains(.,'10-29-2018')]//preceding::td[1]/a
0 голосов
/ 29 октября 2018

Это должно работать:

//tr[td="10-29-2018"]//a

... если вы хотите найти ссылку на следующую ячейку с датой . Обратите внимание, что "10-29-2018" не является текстом ссылки . Текст ссылки в этом случае "file.zip"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...