Как найти элемент относительно другого элемента, идентифицированного через innerText, используя xpath - PullRequest
1 голос
/ 21 февраля 2020

У меня есть такая структура:

<ul> 
 <div class="someclass"> 
  <li>  
    <img/> 
    <img/>
    <a> <span> Text 1 </span> <a/>
  </li>
  <li>  
    <img/> 
    <img/>
    <a> <span> Text 2 </span> <a/>
  </li>
 </div>
<ul/>

Я хочу найти «Текст 2» и вернуться к первому «<img />» этого, и я не могу идти дальше, чем это //div[@class='someclass']/li//following-sibling::a/span[text()='Text 2']

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Чтобы найти элемент с текстом Text 2 и ссылаться на него, чтобы найти первый тег <img/>, вы можете использовать следующее решение на основе :

  • xpath :

    "//div[@class='someclass']//li//a/span[normalize-space()='Text 2']//preceding::img[2]"
    
0 голосов
/ 21 февраля 2020

Вы можете перейти к «Тексту 2», а затем вы можете использовать preceding с a[1], чтобы получить «Тексту 1».
Ваш xpath должен быть таким:

//a[contains(text(),'Text 2')]//preceding::a[1]
...