find_element_by_xpath не подходит, и я не знаю, как его найти - PullRequest
0 голосов
/ 13 апреля 2020

Я пересматриваю страницу, которая в основном является поисковой системой. Дело в том, что я мог найти элемент только по xpath. В этом коде, например:

Я хочу указать h2

<div class="header">
<i id="print" data-nb="1609606440">
</i>
<h2>JOAO SAMPAIO DOS SANTOS</h2>
<ul> <li class="numeric">CPF: 35954825300</li>
<li class="numeric">Nasc.: 22/06/1950 (69 Anos)</li> </ul>
</div>

Проблема в том, что страница может изменить структуру структуры в зависимости от результатов, поэтому в некоторых случаях xpath может не работать. Как я мог это сделать?

РЕДАКТИРОВАТЬ: первое изображение мы будем считать «нормальным», и я хочу получить выделенный текст. Второй показывает уведомление (выделено), которое меняет xpath. Я хочу получить одно и то же в двух случаях

enter image description here enter image description here

1 Ответ

0 голосов
/ 13 апреля 2020

Рабочий XPath для обоих случаев:

//h2[preceding::*[1][name()="i" and contains(@id,"print")][@data-nb]]

Мы ищем элемент h2 после элемента i, содержащего определенные c атрибуты.

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