我可以在任何标签中找到文本(不确定是哪一个)。我们以下面的HTML代码段为例:
<div .....>
<div ......>
<div ......>
<div ......>
以上其中一个有文字,但不确定哪一个有文字。我们来看两个例子:
在这里,div 3有文字:
<div .....>
<div ......>
<div ......>Hello
<div ......>
在这里,div 2有文字:
<div .....>
<div ......>Hi
<div ......>
<div ......>
我想获取包含任何文本的div的元素,无论它是什么。我们可以写xpath来获取一个有任何文本的元素吗?
答案 0 :(得分:5)
您可以让所有<div>
拥有直接子非空文本节点,如下所示:
//div[normalize-space(text())]
答案 1 :(得分:0)
如果您不希望带有空白文本的元素,您的选择器应该像这样
//div[. !='']
此处,.
指向父级,!=''
只是忽略带有空白文本的元素。
答案 2 :(得分:0)
,对于任何元素,您都可以使用:
<div .....>
<table .....>
<tbody.....>
<tr.....>
<td.....>
<span .....>Some text
<div .....>
//*[normalize-space(text())]