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

WebDriver getText()方法,使用Java替换,java,selenium,xpath,selenium-webdriver,Java,Selenium,Xpath,Selenium Webdriver,Html代码 <span data-bind="html: TotalCharges"> <span class="CurrencySymbol">USD </span> 7400.00 <br> (0.00+0.00) </span> 使用上面的将得到下面的输出 "7400.00 (0.00+0.00) 我的预期产出:“7400.00” 那么如何替换“”标记中的字符(需要替换“(0.00+0.00)”) 我正在使用java使用以下x

Html代码

<span data-bind="html: TotalCharges">
<span class="CurrencySymbol">USD </span>
7400.00
<br>
(0.00+0.00)
</span>
使用上面的将得到下面的输出 "7400.00 (0.00+0.00)

我的预期产出:“7400.00”

那么如何替换“
”标记中的字符(需要替换“(0.00+0.00)”)
我正在使用java

使用以下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
处拆分会将其拆分为

标记。

尝试以下解决方案。它将为您提供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);

您的输入HTML与输出不匹配,因为数字不同。请编辑问题。感谢您更新了值扫描您是否确保在所需值之后始终有相同的字符串
(0.00+0.00)
?我的意思是,我们可以在代码中硬编码并替换它吗?@alecxe:是的,字符串是相同格式的公共字符串。xpath应该指向一个实际的元素,而不是文本节点。Prabu如果有帮助,请标记它,以便其他人也能从中受益……谢谢…@Prabu如果它解决了您的问题,请不要忘记接受这个答案。谢谢
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);