从后代的文本中获取元素

时间:2018-09-13 11:11:35

标签: xpath

我将元素的所有后代文本放在一行中。

如何获取元素class="Block"

我可以找到带有某个后代文本的元素,但在另一个元素中可以相同。

1-必须使用所有后代的文本。

2-我不知道哪个标签是它们的后代。

3-我不知道元素和子孙的位置,它们总是在变化

4-后代的数量可以不同

<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
</head>
<body>
    <div class="AllBlock">
        <div class="Block">
            <span>First text</span> <span>different text</span> <a>first link</a>
        </div>
        <div class="Block">
            <span>Second text</span> <span>different text</span> <a>Second link</a>
        </div>
        <div class="Block">
            <span>Third text</span> <span>different text</span> <a>Third link</a>
        </div>
        <div class="Block">
            <span>Fourth text</span> <span>different text</span> <a>Fourth link</a>
        </div>
        <div class="Block">
            <span>Fifth text</span> <span>different text</span> <a>Fifth link</a>
        </div>
    </div>
</body>
</html>

1 个答案:

答案 0 :(得分:4)

要通过其空间标准化的字符串值而不考虑innerHTML结构来选择节点,请尝试以下操作:

//div[@class="Block" and normalize-space()="First text different text first link"]