Html 如何在XPATH中选择具有相同属性ID的第二个元素?
想象一个HTML片段,如下所示:Html 如何在XPATH中选择具有相同属性ID的第二个元素?,html,xml,xpath,Html,Xml,Xpath,想象一个HTML片段,如下所示: <div> <div class="content">test1</div> </div> <div> <div class="content">test2</div> </div> <div> <div class="content">test3</div> </div> 测试1 测试2 测
<div>
<div class="content">test1</div>
</div>
<div>
<div class="content">test2</div>
</div>
<div>
<div class="content">test3</div>
</div>
测试1
测试2
测试3
我使用的xpath是//div[@class='content']
现在,我想提到第二个div元素。我应该向xpath添加什么?
TIA。到目前为止,已经提出了两种解决方案,但没有一种从问题中显示的HTML片段中选择任何内容。仅将其包装到根元素中时:
<root>
<div>
<div class="content">test1</div>
</div>
<div>
<div class="content">test2</div>
</div>
<div>
<div class="content">test3</div>
</div>
</root>
唯一的结果是
<div class="content">test2</div>
//div[2][@class='content']
表示:
从文档中的任意位置选择名为div
的所有元素,但仅选择其父元素的第二个子元素。在这些选定节点中,仅保留那些具有值等于“content”的class
属性的节点
仅在给定文档时生成匹配项,如
<root>
<div>
<div class="content">test1</div>
</div>
<div>
<div class="other">other</div>
<div class="content">MATCH</div>
</div>
<div>
<div class="content">test3</div>
</div>
</root>
测试1
其他
匹配
测试3
//div[@class='content'][2]
<root>
<div>
<div class="content">test1</div>
</div>
<div>
<div class="content">test2</div>
<div class="other">other</div>
<div class="content">MATCH</div>
</div>
<div>
<div class="content">test3</div>
</div>
</root>
<root>
<div>
<div class="content">test1</div>
</div>
<div>
<div class="other">other</div>
<div class="content">MATCH</div>
</div>
<div>
<div class="content">test3</div>
</div>
</root>