使用xpath获取html元素的文本内容

时间:2015-08-13 06:40:28

标签: html xml xpath selenium-webdriver xml-parsing

这是html内容

<p class="ref   Hover">
    <b class="Hover   Hover   Hover   Hover   Hover">Mfr Part#:</b>
    MC34063ADR2G<br>
   <b>Mounting Method:</b>&nbsp;
     Surface Mount<br>
   <b>Package Style:</b>&nbsp;
     SOIC-8<br>
  <b>Packaging:</b>&nbsp;
     REEL<br>
</p> 

使用xpath以下我只能获得“Mfr Part#:”。

//div[@id='product-desc']/p[2]/b[1]/text()
//div[@id='product-desc']/p[2]/b[1]

但我想要“Mfr Part#:MC34063ADR2G”

4 个答案:

答案 0 :(得分:2)

您的MC34063ADR2G应该在

//div[@id='product-desc']/p[2]/text()[2]

答案 1 :(得分:2)

您可以使用following-sibling轴来获取已经设法选择的<b>元素后面的节点的文本,例如,给定当前上下文元素是<b>元素:

following-sibling::text()[1]

或使用完整的XPath:

//div[@id='product-desc']/p[2]/b[1]/following-sibling::text()[1]

答案 2 :(得分:0)

您可以使用//b[contains(@class, 'Hover')]

答案 3 :(得分:0)

你可以试试这个,希望它能帮到你

String text=driver.findElement(By.xpath("//p[contains(@class, 'Hover')]")).getText();
    String[] temp=text.split("\\bMounting\\b");
    System.out.println(temp[0]);