XPath如果其中一个子元素有一些文本

时间:2016-04-16 10:35:12

标签: html xpath

是否有可能制作一个XPath查询来提取某些(html)元素,如果它的子元素有一些文本,以防嵌套级别未知?

例如,要从中提取的html:

    <a href="/dialog/id/7">
        <div class="someclass_1">... random text</div>
        <div class="someclass_2">Text_need_to_find</div>
            <div class="subclass_1">
                Text_need_to_find
           <div class="subclass_2">... random text</div>
                <div class="subclass_3>
                    Text_need_to_find
                </div>
            </div>
    </a>        

如果任何元素或子元素包含文本href,则需要XPath获取Text_need_to_find属性。

所以基本上我想得到/dialog/id/7如果在任何元素中,孩子都有文字Text_need_to_find

1 个答案:

答案 0 :(得分:4)

应该是这样的:

a[descendant-or-self::*[normalize-space() = 'Text_need_to_find']]/@href

如果“Text_need_to_find”只是内容使用contains(., 'Text_need_to_find')的一部分。