2017-07-19 54 views
0

我想从HTML块中的段落标记中提取“蓝色”文本,但仅当h2标记为==到“Foo”时才提取。Xpath语法从子节点提取内容,如果其他子节点具有特定值?

如何编写一个Xpath语句,通过检查h2的内容来返回p的内容?

<section class="panel"> 
      <header class="panel-heading"> 
      <h2 class="h5 mrgn-tp-0 mrgn-bttm-0"> 
       Foo color 
      </h2> 
      </header> 
      <div class="panel-body"> 

       <p class="mrgn-bttm-0"> 
        Blue 
        <br /> 

谢谢!

+0

我应该指定我希望h2标签包含“Foo”字而不是等于它!谢谢! – ronalara

回答

0

找出答案!代码波纹管工作得很好,如果它可以帮助任何人!

//section[@class = "panel"]//h2[contains(text(), "Foo")]/../following-sibling::div/p/text() 
+0

在谓词中注意绝对XPath,比如'[// h2]',使用相对XPath总是比较安全的,例如。 '[.// h2 [contains .....]]' –

+0

感谢您的提示! @保罗! – ronalara

相关问题