在我的应用程序中,执行完所有操作后,如果我按下保存按钮,我收到以下消息。
Deal 0000195734 has been saved
Sales order 12345 has been created
现在我想只获取上述消息中的数值。不是文字部分。 例如:0000195734& 12345
因为我需要使用上面创建的值进行搜索。
请找到以下代码
String deal_num = driver.findElement(By.xpath("//div[@id='CLine1']/span[4]")).getText();
System.out.println(deal_num);
deal_num = Deal 0000195734 has been saved
我正在使用带有Selenium Web Driver的java。
请建议
此致 希瓦
答案 0 :(得分:1)
字符串deal_num =已保存交易0000195734。
您可以通过两个步骤轻松替换数值前后的字符。
第一步将用空格替换数值前的字符。
deal_num= deal_num.replace("Deal "," ");
第二步将用空格替换数值后的字符。
deal_num= deal_num.replace(" has been saved"," ");
以同样的方式,您可以为销售订单的第二条消息执行此操作。
答案 1 :(得分:0)
如果字符串格式相同,则可以通过以下方式实现:
String deal_num = driver.findElement(By.xpath("//div[@id='CLine1']/span[4]")).getText();
deal_num = deal_num.split(" ")[1] // splitting on the basis of space and taking index 2 where your numbers will be available
和你提供的下一行类似。
答案 2 :(得分:0)
用户正则表达式从字符串中提取数字。
Pattern p = Pattern.compile("-?\\d+");
Matcher m = p.matcher("There are more than -2 and less than 12 numbers here");
while (m.find()) {
System.out.println(m.group());
}
-?
匹配主要负号 - 可选。 \d
匹配一个数字,我们需要在\
中将\\
写为Java字符串。因此,\\d+
匹配1个以上的数字