【问题标题】:How to find the text of nested div by xpath in Selenium Java?如何在 Selenium Java 中通过 xpath 查找嵌套 div 的文本?
【发布时间】:2015-06-23 12:18:52
【问题描述】:

我尝试使用此代码查找嵌套 div 的文本,但没有得到任何文本。 我正在尝试直接访问嵌套的 div,以避免在开发团队更改网站结构时出现任何问题。

我尝试保存文本“$89.67 / mo”并将其保存在变量中,但我猜它不起作用,因为 div 有一个父 div。我也在尝试获取确认号enter code here

premium = r.driver.findElement(By.xpath("//div[contains(@class,'amount')]")).getText();

以下是 HTML 代码,我想获取显示 $89.67 / mo 的文本 和确认号442686

          div id="quoteUser" class="row padTop hidden-phone">
          <div class="span4">
          <p class="padLeft padTop long-text">
           vdueiapxibupkdf Testprodquote, <span class="skyblue">Policy 
           Holder</span><br>
            3334 test dr<br>
             City, CA<br>
             Email: test@test.com<br>
             Primary Phone: 254-000-0000
             </p>
             <p class="padLeft padTop skyblue">
            Quote date: April 16, 2015<br>
            Confirmation No.: <b>442686</b>
           </p>
           </div>
           <div class="span6 print-block">
           <div class="quotemedia skyblue">
            <p class="blue clearfix">Your Quote for 1 Driver(s), 1 
            Vehicle(s)</p>
           <div class="amount-container no-bord">
            <div class="amount">$89.67 / mo.</div>

【问题讨论】:

    标签: xpath


    【解决方案1】:

    奇怪...同样的代码对我有用:

    driver.findElement(By.xpath("//div[contains(@class,'amount')]")).getText()
    

    以下 xpath 也有效:

    //*[contains(@class,'amount')]
    

    用于确认号码的代码:

    driver.findElement(By.xpath("//*[contains(@class,'padLeft padTop skyblue')]/b")).getText()
    

    如果您的开发团队可以将 ID 用于 HTML 标记,而不是您必须依赖类属性,那就更好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-14
      • 2021-05-01
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多