WebDriver getText() 方法替换为 Java

WebDriver getText() Method with replace using Java

Html代码

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

Webdriver 使用 getText 方法获取 Totalcharge 值

代码:

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

以上将得到以下输出 "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 处拆分会将其拆分为 <br> 标签。

尝试以下解决方案。它会给你 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);