如何在Selenium Java中通过xpath找到嵌套div的文本?

时间:2015-04-16 20:56:25

标签: xpath

我尝试使用此代码查找嵌套div的文本但我没有文本。 我试图直接进入嵌套div以避免任何问题,以防开发团队更改网站的结构。

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

premium = r.driver.findElement(By.xpath(&#34; // div [contains(@class,&#39; amount&#39;)]&#34;))。getText(); < / p>

以下是HTML代码,我希望得到89.67美元/月的文字 和确认号码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>

1 个答案:

答案 0 :(得分:0)

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

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

以下xpath也有效:

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

适用于确认号的代码:

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

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