WebDriver getText()使用Java替换的方法

时间:2015-01-19 10:25:14

标签: java selenium xpath selenium-webdriver

Html代码

<span data-bind="html: TotalCharges">
<span class="CurrencySymbol">USD </span>
7400.00
<br>
(0.00+0.00)
</span>

使用getText方法获取Totalcharge值的Webdriver

代码:

driver.findElement(By.xpath("//span[@data-bind='html: TotalCharges']")).getText().substring(4);

以上将获得以下输出 “7400.00 (0.00 + 0.00)“

我的预期输出:“7400.00”

那么如何替换“&lt; br&gt;”中的字符标签(需要更换“(0.00 + 0.00)”) 我正在使用java

2 个答案:

答案 0 :(得分:1)

使用以下xpath获取7400.00:

driver.findElement(By.xpath("//span[@class='CurrencySymbol']/following-sibling::text()[1]").getText();

哦,我的错误,谢谢你纠正我@alecxe: 你可以通过以下方式获得:

driver.findElement(By.xpath("//span[@class='CurrencySymbol']/.."))
        .getText().split("\n")[0].split(" ")[1]

\n分割会将其拆分为<br>代码。

答案 1 :(得分:0)

尝试以下解决方案。它会给你7400.00输出 -

String temp = driver.findElement(By.cssSelector("html>body>span")).getText();
String s1=temp.replace("USD", "").replace("\n", "").replace("\r", "");
String finalStr = s1.substring(0,s1.indexOf("(")).trim();
System.out.println(finalStr);