2017-04-03 47 views
-1

我有一個跨度類,如附圖所示。我想也就是獲取所有三個值0.413%,0.012%, - 和 - 當我穿越到這個跨度類文本如何獲取硒中跨度類中存儲的值

,並得到再存儲在字符串中的所有三個值,但我想他們一個接一個。 ' - '可以在任何地方。如何獲取這些值。

<span class="text-light ng-binding" ng-show="calculatorStatus == 'COMPLETED'" style="font-size: 0.85em;"> 
    0.413% 
<br/> 
    0.012% 
<br/> 
    -- 
</span> 

實際:0.413%\ n 0.012%\ N - 預期:0.413%,0.012%, - span class image link pls open it to see the span class description

+4

「HTML」作爲文本,而不是圖片。同時顯示您的代碼,當前和期望的輸出 – Andersson

+1

@Jitendra:您可以先獲取完整的String值,然後使用String split(「\ n」)函數對其進行分割。 – kushal

回答

0

看起來像功課。嗯。好。我將它保存在我的工具包中:

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; 
} 

它返回所有字符,包括非ASCII換行符。我通常只是想要的文字,所以我補充說這個

getTextFromElementsTextNodes(driver, anElement).replaceAll("[^\\x00-\\x7F]", " ");