我尝试使用此代码查找嵌套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>
答案 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标记而不是您必须依赖类属性,那会更好。