为什么我的xpath匹配不需要的元素?

meg*_*gan 0 xpath

我试图找到类"foo"的元素

<div id="foo1">
<div id = "foo2">
<div class = "foo">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的xpath:

/div/div/div[contains(@class,'foo')]
Run Code Online (Sandbox Code Playgroud)

这是它发现的代码:

<div id="foo1">
<div id = "foo2">
<div class = "foo-err">
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)

该路径返回div class ="foo-err"元素

Mar*_*c B 5

contains()是一个子串匹配.它基本上是说"if'foo' 在class属性中是任意的,匹配元素".

如果你想要完全匹配,那就试试吧

[@class='foo']
Run Code Online (Sandbox Code Playgroud)