2013-03-17 8 views
0

Это то, что я пытался до сих пор ..XPath выбора явный элемент сравнения по значению

//div[@id='information']//div[div=='Site'] 
//div[text()='Site']//span//a[@href] 

Я возился с выражением XPath, но подмигнули не получается. Я хочу выбрать атрибут href привязки. Это не проблема, но это должно быть явно после a div с classh3 И a value = "Site".

<div id="information"> 
    <div class="h3">Location</div> 
    <div class="h3">Site</div> 
    <span> 
     //Here is sometimes a <br/> 
     <a href='http://www.test.at'>Klick</a> 
    </span> 
    <div class="h3">Referenz</div> 
    <span>12345</span> 
</div> 

Там может быть сколь угодно много DIV элементов внутри DIV с ID = «информацией», поэтому выбор по индексу не представляется возможным.

ответ

3

Что-то, как это должно работать:

//div[@class = 'h3'][. = 'Site']/following-sibling::*/descendant-or-self::a/@href 

Это позволит извлечь href атрибуты всех a тегов, которые после DIV «Сайт» в порядке документа, но все содержащиеся в пределах одного родительского элемента («информационный "div в вашем примере). Если вы не беспокоили о том, что последний бит, т.е. вы хотите включить a теги, которые происходят после того, как «Информация» Див, а также внутри него, то вы можете использовать более простые

//div[@class = 'h3'][. = 'Site']/following::a/@href 
+0

и это так, спасибо ! btw я не могу отредактировать ваше сообщение u ve забыли "после h3 .. – Mikatsu

+0

@Mikatsu спасибо, я исправил его сейчас. –

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