xpath извлекает элемент, который появляется после родительского элемента

#xpath

#xpath

Вопрос:

Мне нужно щелкнуть по элементу, который появляется после <span class="clientadress"> того, как он может быть либо <div class="homephone"> или <input type="text"> .

Я пробую xpath /following:: или /child:: , но это не работает. Возможно ли сделать что-то вроде //following::(div or input)

Пример порядка элементов:

 <span class="client">
  <span class="clientadress">
  <div class="homephone">
</span>

or

<span class="client">
  <span class="clientadress">
  <input type="text">
</span>
 

Ответ №1:

Попробуйте использовать

 //span[@class="clientadress"]/(following-sibling::div | following-sibling::input)
 

и посмотрите, работает ли это.

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

1. Это неправильный синтаксис xpath. Вы можете проверить это на SelectorsHub, поскольку chrome devtools покажет только 0 совпадающих узлов даже для неправильного синтаксиса xpath. Вы можете получить SelectorsHub отсюда- chrome.google.com/webstore/detail/selectorshub /…

Ответ №2:

Попробуйте-Xpath в Firefox иногда дает лучшие результаты:

https://addons.mozilla.org/nl/firefox/addon/try-xpath/?utm_source=addons.mozilla.orgamp;utm_medium=referralamp;utm_content=search

Ответ №3:

Джек дал мне идею, и следующий работает для меня: //following-sibling::*

Спасибо всем