我应该得到p标签之间的值。 以下是我需要获取值
的代码<div id="ved-list-totals">
<div id="ved-sidebar-totals" class="clearfix margin-top-10" style="height: 100px;">
<div id="ved-sidebar-totals" class="clearfix margin-top-10" style="height: 100px; background-color: transparent;">
<div class="pull-right margin-left-20 margin-right-10 align-right">
<p class="no-margin">0</p>
<p class="no-margin" style="background-color: transparent;">5.97</p>
<p class="no-margin">0.00</p>
<p class="no-margin">4.95</p>
<p class="no-margin bold dark-text">10.92</p>
</div>
<div class="pull-right margin-left-20 align-right">
<p class="no-margin">Estimated Points</p>
<p class="no-margin">Subtotal</p>
<p class="no-margin">Tax</p>
<p class="no-margin">Service Fee</p>
<p class="no-margin bold dark-text">Estimated Total</p>
</div>
我尝试了以下方法:
String tot = driver.findElement(By.xpath("html/body/div[4]/table/tbody/tr/td[2]/div/div[1]/div[2]/div/div/div/div[2]/div/div/div[1]/p[2]")).getText();
String axd = driver.findElement(By.xpath("html/body/div[4]/table/tbody/tr/td[2]/div/div[1]/div[2]/div/div/div/div[2]/div/div/div[1]/p[3]")).getText();
String tot = driver.findElement(By.xpath("//div[@id='ecart-sidebar-totals']/div/p[4]")).getText();
String axd = driver.findElement(By.xpath("//div[@id='ecart-sidebar-totals']/div/p[3]")).getText();
我收到的错误是:
org.openqa.selenium.NoSuchElementException:无法找到元素:{“method”:“xpath”,“selector”:“// div [@ id ='ecart-sidebar-totals'] / div / p [ 4]“}
有两个具有相同id(<div id="ved-sidebar-totals">
)的元素,如果此id被指责为此错误,或者是否有任何遗漏的内容。
答案 0 :(得分:0)
使用xpath //div[@id='ved-list-totals']//p[1]
。这应该使用getText()方法返回第一个p标记值。
答案 1 :(得分:0)
尝试使用Css选择器
driver.findElement(By.cssSelector("div[class='pull-right margin-left-20 margin-right-10 align-right'] p:nth-child(4)"));
答案 2 :(得分:0)
疯狂猜测..
//div[@id='ecart-sidebar-totals']/div[@id='ved-list-totals']/p[1]