首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Selenium web驱动程序中找到p标记中显示的值?

如何在Selenium web驱动程序中找到p标记中显示的值?
EN

Stack Overflow用户
提问于 2020-08-26 01:33:40
回答 1查看 97关注 0票数 0

在Selenium WebDriver中,我试图定位显示在p标记中的值$2,772 /month。我尝试了下面的方法,但是在运行测试时,我得到了以下错误:

"selector":"//div@id='calculatedresult'//div@class='_3Kmts'//div@class='ant-row _2 2kHnl‘//div@class=’z-k7K ant-xs-24‘/p@class=’_3TRls_2fRgA‘}(会话信息: chrome=84.0.4147.135)

Selenium版本:selenium-java-4.0.0-alpha-6

代码语言:javascript
复制
WebElement resultElement = driver.findElement(By.xpath("//div[@id='calculatedresult']//div[@class='_3Kmts']//div[@class='ant-row _2kHnl']//div[@class='z-k7K ant-col-xs-24']//p[@class='_3TRls _2fRgA']"));
String resultText = resultElement.getText();
System.out.println("Amount:"+resultText);

代码语言:javascript
复制
<div class="XE8MI" id="calculatedresult">
  <div class="_3Kmts">
    <div class="ant-row _2kHnl">
      <div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-12">
        <p class="_3TRls _145-y">
          <!-- react-text: 559 -->How much will you
          <!-- /react-text -->
          <!-- react-text: 560 -->&nbsp;
          <!-- /react-text --><span class="_2O2nq">pay each month?</span></p>
      </div>
      <div class="z-k7K ant-col-xs-24 ant-col-sm-24 ant-col-md-12">
        <p class="_3TRls _1QZuL">
          <!-- react-text: 564 -->Your
          <!-- /react-text -->
          <!-- react-text: 565 -->&nbsp;
          <!-- /react-text --><span class="_34T3z">estimated repayments</span>
          <!-- react-text: 567 -->
          <!-- /react-text -->
          <!-- react-text: 568 -->could be
          <!-- /react-text -->
        </p>
        <p class="_3TRls _2fRgA">
          <!-- react-text: 570 -->$
          <!-- /react-text -->
          <!-- react-text: 571 -->2,772
          <!-- /react-text -->
          <!-- react-text: 572 -->&nbsp;
          <!-- /react-text --><span class="_3VTnt"><!-- react-text: 574 -->/ month<!-- /react-text --><sup>*</sup></span></p>
        <p class="_3TRls _2w2vj">
          <!-- react-text: 577 -->At an interest rate of
          <!-- /react-text -->
          <!-- react-text: 578 -->2.00
          <!-- /react-text -->
          <!-- react-text: 579 -->% over
          <!-- /react-text -->
          <!-- react-text: 580 -->30
          <!-- /react-text -->
          <!-- react-text: 581 -->years
          <!-- /react-text -->
        </p>
      </div>
    </div>
    <div class="ant-row _3jxXH">
      <div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-16"></div>
      <div class="ant-col-xs-24 ant-col-sm-24 ant-col-md-8">
        <div class="_1A1_k"></div>
      </div>
    </div>
    <p class="_3TRls _2wwQC">
  </div>
</div>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 04:41:28

基于您所共享的HTML片段(不是一个好主意,总是在文本中共享)。我可以看出你的xPath有问题。对于以z-k7K ant-开头的div类,您不是给出完整的类名,而是使用=运算符。相反,使用包含。

使用:

代码语言:javascript
复制
WebElement resultElement = driver.findElement(By.xpath("//div[@id='calculatedresult']//div[@class='_3Kmts']//div[@class='ant-row _2kHnl']//div[contains(@class,'z-k7K ant-col-xs-24')]//p[@class='_3TRls _2fRgA']"));

另外,我希望您在元素加载方面没有任何问题,如果是这样的话,请使用任何等待方法将您的元素完全加载。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63589269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档