Я собираюсь пойти на:
//span[@class='title']/descendant-or-self::*[text()='SOME TEXT']
Это найдет элемент span, а затем по дереву будет искать элемент с текстовым узлом, который соответствует указанному тексту.
Проблема, с которой вы столкнулись, заключается в том, что в примерах 2 и 3 следующее работает для обоих:
//span[@class='title']/descendant-or-self::*[text()='Ablage für Tests']
Вы можете обойти это с помощью
(//span[@class='title']/descendant-or-self::*[text()='Ablage für Tests'])[1]
(//span[@class='title']/descendant-or-self::*[text()='Ablage für Tests'])[2]
Запомните текстовый узелпринадлежит к определенному элементу, text()
не является текстом группы элементов.
Также мне не ясно, какой элемент вы пытаетесь найти. Предположение с вышеизложенным состоит в том, что вам нужен элементкоторый содержит указанный текст.Если вместо этого вы искали элемент span, вы можете изменить XPath на:
//span[@class='title'][descendant-or-self::*[text()='SOME TEXT']]