【问题标题】:Get the text content of an html element using xpath使用 xpath 获取 html 元素的文本内容
【发布时间】:2015-11-06 00:06:05
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    following-sibling::text()[1]
    

    或使用完整的 XPath:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        您的 MC34063ADR2G 应该位于

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 2013-01-15
            • 2016-04-13
            • 2015-12-07
            • 2020-07-20
            • 2022-12-18
            • 1970-01-01
            • 2013-08-10
            • 2020-03-24
            • 1970-01-01
            相关资源
            最近更新 更多