AT.info ПОСИДЕЛКИ  vKontakte   facebook группа  
Задачка по CSS локаторам
Offline
Зарегистрирован: 06.11.10

Как в CSS представить Xpath локатор //ul[@id='phone_list']/li[descendant::*/span/text()="Text"] ?

Онлайн
Зарегистрирован: 20.07.09
нет так не получиться, потому что CSS не умеет работать с тексто

нет так не получиться, потому что CSS не умеет работать с текстовыми нодами, а точнее работает только с элементами.

потому все что можно получить это 

ul[id="phone_list"]>li * span

это будет соответствовать 

//ul[@id='phone_list']/li[descendant::*/span]

Правда в CSS2 была такая функция :contains(), которую можно было бы использовать, она именно смотрим в текстовые ноды, но в CSS3 ее не стало :(

З.Ы. линкм по CSS http://css.maxdesign.com.au/selectutorial/index.htmhttp://www.w3.org/TR/css3-selectors/http://api.jquery.com/contains-selector/

n/a
Offline
Зарегистрирован: 06.11.10
аналогично

Вот и я так голову поломал, и получилось аналогичное. Все таки CSS не везде заменяет xpath.

По поводу contains(), эта функция работает, но она берет наличие текста в теге, как это может помочь?

Онлайн
Зарегистрирован: 20.07.09
ul[id="phone_list"]>li * span:contains('Text')

ну если contains() работает, то выражение должно выглядеть как

ul[id="phone_list"]>li * span:contains('Text')

n/a
Offline
Зарегистрирован: 03.08.11
ul#phone_list>li *

ul#phone_list>li * span:contains('Text')

так мне кажется будет красивее

но это все равно не правильно, ибо икспаз в прbмере селектит  элемент li а не span

Автор, а можно кусок html для примера?

Онлайн
Зарегистрирован: 20.07.09
ссылки по теме CSS Selectors
n/a