<div class="form-row">
<div class="label-column"> Your Renewal Charges</div>
<div class="ctrl-column">
<span data-bind="html: DisplayTotalrenewalFee">
<span class="CurrencySymbol">USD</span>
810.00
</span>
</div>
并且在同一页面中有另一个具有相同属性的跨度值(html:DisplayTotalrenewalFee)
<div class="label-column"> Amount Sent</div>
<div class="ctrl-column">
<span data-bind="html: DisplayTotalrenewalFee">
<span class="CurrencySymbol">USD</span>
810.00
</span>
</div>
只有差异
<div class="label-column">values
如何生成两个xpath以获取USD和810.00的值?
答案 0 :(得分:1)
试
(//div[@class='ctrl-column']/span[@data-bind='html: DisplayTotalrenewalFee'])[1]
(//div[@class='ctrl-column']/span[@data-bind='html: DisplayTotalrenewalFee'])[2]
分别为第一个和第二个值。
答案 1 :(得分:1)
您可以使用所需元素的内部文本找到该范围。
By.xpath("//div[text()='Your Renewal Charges']/following-sibling::div//span[contains(@data-bind,'DisplayTotalrenewalFee')]")
或
By.xpath("//div[text()='Amount Sent']/following-sibling::div//span[contains(@data-bind,'DisplayTotalrenewalFee')]")
了解有关xpath及其功能refer this的更多信息。
答案 2 :(得分:1)
您可以尝试制作一个列表,然后迭代它。
List<String> elements = driver.findElements(By.xpath("//span[@data-bind='html: DisplayTotalrenewalFee']"));
for (WebElement element : elements)
{
String usd = element.getText().split(" ")[0];
String value = element.getText().split(" ")[1];
}
显然可以根据您对这些值的处理方式进行改进。