我有这个html块:
<td><a href="#" class=""> <i class="far fa-times mr-1"></i>Cancel</a></td>
我写了下面的xpath来找到这个取消锚点,但这是不工作的.我做错了什么?
//a[contains(text(), 'Cancel')]
下面的xpath工作,但我需要了解上面的一个我做错了什么:
//i[@class='far fa-times mr-1']/..
我有这个html块:
<td><a href="#" class=""> <i class="far fa-times mr-1"></i>Cancel</a></td>
我写了下面的xpath来找到这个取消锚点,但这是不工作的.我做错了什么?
//a[contains(text(), 'Cancel')]
下面的xpath工作,但我需要了解上面的一个我做错了什么:
//i[@class='far fa-times mr-1']/..
//a[contains(text(), 'Cancel')]
Issue:上面的XSLT表达式不工作的原因是,上面的XSLT查找包含文本Cancel
的锚(<a>
)元素.然而,HTML代码段中的<a>
元素并不直接包含文本Cancel
.它包含一个元素<i>
,然后是文本Cancel
.
Solution:更改"表"表达式如下:
//a[contains(., 'Cancel')]
XPath explanation: .
表示当前 node ,因此contains(., 'Cancel')
判断<a>
元素及其所有后代中是否存在"取消"文本.