我将元素的所有后代文本放在一行中。
如何获取元素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>
答案 0 :(得分:4)
要通过其空间标准化的字符串值而不考虑innerHTML结构来选择节点,请尝试以下操作:
//div[@class="Block" and normalize-space()="First text different text first link"]