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

Get the text content of an html element using xpath

这是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"

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

您的 MC34063ADR2G 应该在

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

你可以试试这个,希望对你有帮助

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

您可以使用 following-sibling 轴获取您已经管理到 select 的 <b> 元素之后的节点的文本,例如,假设当前上下文元素是 <b>元素:

following-sibling::text()[1]

或使用完整的 XPath :

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