Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Исключить текст в локаторе


(Alex) #1

Есть следующий код:

<div class="select2-result-label">
<span class="select2-match">at</span> - поиск точного совпадения
</div>

<div class="select2-result-label">
homescreen 
<span class="select2-match">at</span> - поиск точного совпадения
 position 5
</div>

Мне нужно выбрать локатор class="select2-match">at</span> исключая текст в div.

Как это возможно сделать?

P.S. Локатор //div[not(contains(.,''))]//span[@class='select2-match'][normalize-space(text())='at']не работает


(Александр Таранков) #2

Что с разметкой сообщения? Поправь. И не скрывай предпросмотр, когда сообщение редактируешь


(Alex) #4

Я не понимаю что я не так делаю но текст отображается в предпросмотре нормально, но после сохранения выходит как сейчас.


(Александр Таранков) #5

Блин, значит баг форума. В предпросмотре всё хорошо смотрится


(Alex) #6

Текст исправлен. Вопрос еще актуален.


(Александр Таранков) #7

//span чем не подходит?


(Alex) #8

Мне нужно чтобы именно исключался текст из //div


(Александр Таранков) #9

Я тебе и предложил использовать //span. Текст из div будет проигнорирован


(Alex) #10

А, извеняюсь просто не корректно выразился. Мне нужно включить //div в котором отсутствует текст и далее соответственно найти //span


(Александр Таранков) #11

Да-да… в правильно поставленном вопросе - половина ответа. Продолжай, ты на верном пути :smile:

То есть тебе нужен span внутри того div, у которого нет текста?


(Alex) #12

Да именно это я и хочу сделать.


(Александр Таранков) #13

Этот span от других только этим отличается? Может есть ещё отличия? Например, он первый из всех таких span?


(Alex) #14

нет, других отличий нет.

Пошаманил немного и нашел нужный локатор: //div[not(text())]//span[@class='select2-match'][normalize-space(text())='"+value+"']". Спасибо.