Java 如何在selenium中获取存储在span类中的值
我有一个span类,如附图所示。我想获取所有三个值,即0.413%、0.012%,--和-- 当我遍历这个span类并获取文本时,所有三个值都存储在字符串中,但我希望它们逐个存储。 “--”可以在任何地方。如何获取这些值Java 如何在selenium中获取存储在span类中的值,java,selenium,webdriver,Java,Selenium,Webdriver,我有一个span类,如附图所示。我想获取所有三个值,即0.413%、0.012%,--和-- 当我遍历这个span类并获取文本时,所有三个值都存储在字符串中,但我希望它们逐个存储。 “--”可以在任何地方。如何获取这些值 <span class="text-light ng-binding" ng-show="calculatorStatus == 'COMPLETED'" style="font-size: 0.85em;"> 0.413% <br/> 0.01
<span class="text-light ng-binding" ng-show="calculatorStatus == 'COMPLETED'" style="font-size: 0.85em;">
0.413%
<br/>
0.012%
<br/>
--
</span>
0.413%
0.012%
--
实际值:0.413%\n 0.012%\n--
预期:0.413%,0.012%--
看起来像是家庭作业。嗯,好的。我把这个放在我的背包里:
public String getTextFromElementsTextNodes(WebDriver webDriver, WebElement element) throws IllegalArgumentException {
String text = "";
if (webDriver instanceof JavascriptExecutor) {
text = (String)((JavascriptExecutor) webDriver).executeScript(
"var nodes = arguments[0].childNodes;" +
"var text = '';" +
"for (var i = 0; i < nodes.length; i++) {" +
" if (nodes[i].nodeType == Node.TEXT_NODE) {" +
" text += nodes[i].textContent;" +
" }" +
"}" +
"return text;"
, element);
} else {
throw new IllegalArgumentException("driver is not an instance of JavascriptExecutor");
}
return text;
}
将
HTML
作为文本而不是图片共享。同时显示您的代码、当前代码和所需代码output@Jitendra:您可以先获取完整的字符串值,然后使用字符串拆分(“\n”)函数将其拆分。
getTextFromElementsTextNodes(driver, anElement).replaceAll("[^\\x00-\\x7F]", " ");