猿问

在XPath中测试text()节点与字符串值

在XPath中测试text()节点与字符串值

我有一个节点如下:

<span class="portal-text-medium">Office Hours</span>

对于我使用的XPath

//span[text()='Office Hours']

这应该有效,但从来没有起过作用。我可以用*contains(text(),'Office Hours')]*但这不会找到确切的匹配,我必须核实没有“*”。这不是唯一次它对我不起作用。我以前见过它起作用,所以我不知道出了什么问题。知道吗?

是的,我可以,也可以,用starts-with但情况并不完全一样。


MM们
浏览 2593回答 2
2回答

不负相思意

XPathtext() =与XPath不同。. =(匹配的文本节点与匹配的字符串值不同)下面的XPath是不同样的.。//span[text() = 'Office Hours']说:选择span元素具有立即儿童文本节点等于‘Office Hours’。//span[. = 'Office Hours']说:选择span其元素字符串值等于“Office Hours”.简而言之,为了单元节点:这个字符串值元素节点的连接。字符串值s的所有文本节点。后人元素节点的文档顺序。实例以下内容span元素只匹配#1:<span class="portal-text-medium">Office Hours<br/>8:00-10:00</span><span class="portal-text-medium">My<br/>Office Hours</span>以下内容span元素只匹配#2:<span class="portal-text-medium"><b>Office</b> Hours</span><span class="portal-text-medium"><b><i>Office Hours</i></b></span>以下内容span元素将匹配#1和#2:<span class="portal-text-medium">Office Hours</span>

HUX布斯

因此,对于使用“.”,字符串的部分可以处于不同的深度,只要附加到一起,它就会出现在您正在搜索的值上?我想,有时候当我遇到这个问题时,我应该尝试一下,我应该用一个。因为也许还有一些我不知道的额外水平。
随时随地看视频慕课网APP
我要回答