html元素如下所示我想得到值“7.99”我尝试了以下方法:
String price = driver.findElement(By.xpath("//div[@class='inventory_item_price']")).getText();
但价格是“7.99美元”
sqxo8psd1#
正如您自己看到的,元素包含两段文本“$”和“7.99”。 .getText() 方法返回元素的整个文本,即“$7.99”。如果要删除“$”符号,只需从结果中删除它,如下所示:
.getText()
String price = driver.findElement(By.xpath("//div[@class='inventory_item_price']")).getText().replace("$", "");
aoyhnmkz2#
使用js,您可以执行以下操作:为什么是js?如果将$更改为其他货币,脚本将开始失败(如果使用替换方法)
WebElement elem = driver.findElement(By.xpath("//div[@class='inventory_item_price']")); String text = (String)((JavascriptExecutor)driver).executeScript("return arguments[0].childNodes[2].textContent;", elem); System.out.println(text);
2条答案
按热度按时间sqxo8psd1#
正如您自己看到的,元素包含两段文本“$”和“7.99”。
.getText()
方法返回元素的整个文本,即“$7.99”。如果要删除“$”符号,只需从结果中删除它,如下所示:
aoyhnmkz2#
使用js,您可以执行以下操作:
为什么是js?
如果将$更改为其他货币,脚本将开始失败(如果使用替换方法)