在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
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);
<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 -->
<!-- /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 -->
<!-- /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 -->
<!-- /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>
发布于 2020-08-26 04:41:28
基于您所共享的HTML片段(不是一个好主意,总是在文本中共享)。我可以看出你的xPath有问题。对于以z-k7K ant-开头的div类,您不是给出完整的类名,而是使用=运算符。相反,使用包含。
使用:
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']"));另外,我希望您在元素加载方面没有任何问题,如果是这样的话,请使用任何等待方法将您的元素完全加载。
https://stackoverflow.com/questions/63589269
复制相似问题