2014-09-28 70 views
0

下面的HTML:GEB:如何在NonEmptyNavigator情況下刪除子元素?

<h1> 
    "Bison 120" 
    <span class="prise1">#1429</span> 
</h1> 

我需要從H1提取準確的文字 - 「野牛120」 結果的.text的()是: 「野牛120#1429」

非常相似,這種情況下:Using .text() to retrieve only text not nested in child tags 但是在GEB爲jQuery提出的解決方案不起作用。

我目前的解決方案 - 從H1元素中刪除兒童。 你能幫我解決一下GEB中的孩子嗎?

預先感謝您!

回答

1

你可以簡單地得到父的文本,然後從中減去所有兒童的文字:

def h1 = $("h1") 

def h1Text = h1.children().inject(h1.text()) { text, child -> 
    text - child.text() 
} 
+0

謝謝!很棒的作品。在GEB中找不到刪除兒童特徵有些不安。儘管如此,偉大的解決方案和適用於我的情況! :) – 2014-09-29 17:27:17

+1

這不是Geb限制,而是WebDriver限制,因爲它不支持文本節點。 – erdi 2014-09-30 09:39:41

相關問題