我有一个节点,如下所示:
<;span class=“门户文本媒体”>;办公时间</span>;
对于我使用的XPath
//span[text()=“办公时间”]
这应该行得通,但永远不行。我可以使用*contains(text(),'Office Hours')]*
,但这找不到精确的匹配项,我必须验证没有“*”。这不是我唯一一次没用了。我以前见过它工作,所以我不知道出了什么问题。有什么想法吗
是的,我可以,也确实可以,使用以开头的,但它并不完全相同
XPathtext()=
与XPath不同=
(匹配的文本节点不同于匹配的字符串值)
下面的XPath不是相同的
-
//span[text()=“办公时间”]
说:
选择所需的
span
元素
有一个等于“办公时间”的立即子文本节点。 -
//span[.=“办公时间”]
说:
选择
span
元素,其字符串值等于“办公时间”
简而言之,对于元素节点:
元素节点的字符串值是
元素的所有文本节点子体的字符串值
文档顺序中的节点
例子
以下span
元素将仅匹配#1:
<;span class=“门户文本媒体”>;办公时间<;br/>;8:00-10:00</span>
<;span class=“门户文本媒体”>;我的<;br/>;办公时间</span>
以下span
元素将仅匹配#2:
<;span class=“门户文本媒体”>&书信电报;b>;办公室</b>;小时</span>
<;span class=“门户文本媒体”>&书信电报;b>&书信电报;i>;办公时间</i></b></span>
以下span
元素将同时匹配#1和#2:
<;span class=“门户文本媒体”>;办公时间</span>