类和索引的XPath选择器

hob*_*lin 17 xpath

我有以下HTML:

<div>
  <p>foo</p>
  <p class='foo'>foo</p>
  <p class='foo'>foo</p>
  <p>bar</p>
</div>
Run Code Online (Sandbox Code Playgroud)

如何通过XPath选择带有'foo'类的第二个P标签?

lon*_*day 30

以下表达式应该这样做:

//p[@class="foo"][2]
Run Code Online (Sandbox Code Playgroud)

编辑:[2]这里的使用根据他们在兄弟姐妹中的位置选择元素,而不是从匹配的节点中选择元素.由于您的两个表都是其父元素的第一个子元素,[1]因此它们[2]将匹配它们,而两者都不匹配.如果要在整个文档中使用第二个这样的元素,则需要将表达式放在括号中,以便[2]应用于节点集:

(//p[@class="foo"])[2]
(//table[@class="info"])[2]
Run Code Online (Sandbox Code Playgroud)