Как я могу получить верхний элемент, подобный предшествующему элементу в xpath?

#html #css #web #xpath

#HTML #css #веб #xpath

Вопрос:

Мне нужно получить родительский узел элемента, но указать некоторые атрибуты then, не используя индексы

Мой сценарий таков

 <div class="flockToUnlock section">
    <flock-to-unlock>
        <div class="xpto">
  

И мой xpath

 //preceding::flock-to-unlock//div[@class='xpto']
  

Я хочу получить узел <div class="flockToUnlock section"> , но я получаю <div class='xpto'>

Комментарии:

1. Вы указываете //div[@class'xpto'] , именно поэтому вы получаете div с этим классом.

Ответ №1:

После исправления синтаксических ошибок это выражение XPath //preceding::flock-to-unlock//div[@class='xpto'] считывается как:

«из любого узла в дереве перейдите ко всем предыдущим flock-to-unlock элементам, а затем ко всем потомкам div с class атрибутом, равным 'xpto' «

Это очень запутанный переход к документу. Если наличие flock-to-unlock и div с class атрибутом, равным "xpto" , являются условиями для выбора, просто используйте:

 //div[flock-to-unlock//div[@class='xpto']]