在xpath中选择包含child的元素的previous-sibilings

时间:2013-02-06 10:16:57

标签: xpath

我的代码看起来像这样

<div id="content">
 <p>text</p>
 <p>text1</p>
 <p>text3</p>

 <p><iframe></iframe></p>

 <p>text4</p>
 <p>text5</p>
</div>

我需要在包含子“iframe”的“p”之前选择所有“p”元素,我尝试过这样的事情

//div[@id='content']//p[iframe]/preceding-sibiling::p

但没有运气。

我被困在这里几天所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:0)

你的XPath逻辑实际上很好!你只是出现了一些拼写错误。

//div[@id='content']/p[iframe]/preceding- sibiling ::p

div块之后你也不需要额外的/。这是完整的xpath:

//div[@id='content']/p[iframe]/preceding-sibling::p