2013-11-14 2 views
0

Может ли кто-нибудь помочь мне с этим? Я не могу захватить текст «Синие туфли» из этого div независимо от того, что я пытаюсь! Прошло более часа и до сих пор не может это решить. Протестировано:XPATH - содержимое для захвата с DIV с наложением текста

//div[@class='breadcrumbs']/text(
//div[@class='breadcrumbs'] 
//div[@class='breadcrumbs']/div 

Ничто не работает. Любая помощь очень ценится.

<div class="breadcrumbs"><a href="http://www.example.aspx" style="color:#e16a58;">Home</a>/Blue Shoes</div> 
       </div> 
+1

Может ли быть, что XHTML недействителен? «Сладости и конфеты» действительно должны быть «Сладости & Candy» –

+0

В этом случае может быть, но это всего лишь пример. Существуют сотни других страниц без знака «&». Изменится пример! Приветствия. –

ответ

0
//div[@class='breadcrumbs']/text() 

должен дать вам то, что вам нужно в этом случае - это выбрать набор всех текстовых узлов, которые находятся непосредственно под сухари дел. если вы хотите настроить таргетинг на один в конце (например, если есть более двух уровней навигационной цепочки, и есть еще один текстовый узел, скажем, косой между двумя a элементами), то чуть более конкретно

//div[@class='breadcrumbs']/text()[last()] 

может работать лучше.

Если это не сработает, есть еще две возможности, о которых я могу думать. Во-первых, HTML DOM использует верхний регистр для имен элементов, и поскольку XPath чувствителен к регистру, вы можете найти //DIV вместо //div. Или, возможно, проблема с пространством имен - если ваш документ имеет xmlns="..." на корневом элементе, то это помещает ваши элементы div в пространство имен, а неподписанные имена в xpath относятся к узлам в пространстве имен no. Чтобы выбрать узлы с именами, вы должны привязать префикс к соответствующему URI пространства имен, а затем использовать префикс в своих выражениях (//xhtml:div). Точно так же, как вы ориентируетесь на префиксы сопоставления, зависит от того, какую библиотеку/инструмент/язык вы используете для выполнения запросов xpath.

+0

Это тоже не работает. Возможно, это страницы и способ их отображения. Они используют слишком сложный материал javascript. Спасибо в любом случае. –

Смежные вопросы