2016-01-05 95 views
1

我在Java/HTML5 Web項目上使用Selenium WebDriver Java API。我們不使用很多ID,所以我使用xPath來隔離值。在以下HTML代碼片段中,當我使用常規方法獲取值時,會返回標籤和值文本。如何使用Selenium從無ID的div中獲取值

<div class="gf-item col-sm-4"><label>First Name</label>Emma</div> 

有沒有一種優雅的方式來使用Selenium獲取值(「Emma」)?

謝謝!

回答

1

我相信的XPath將

//div[@class="gf-item col-sm-4"]/label/following-sibling::text() 
0

有可能是這是一個漂亮的方法。我會創建兩個選擇器。一個只返回你想排除的內容,一個返回你想要的和你不需要的內容。然後使用一些Java來比較和刪除你不想要的東西。我不做xpath,所以這是所有的CSS選擇器。

首先, '大' 選擇 - 收益 '第一NameEmma'

$$("div.gf-item") 

那麼 '微調' 選擇來定義我們不想要的東西 - 回報「名字」

$$("div.gf-item>label") 

然後一些Java來比較和刪除'額外'的東西,這將刪除'名字',並只留下'艾瑪'

String big = getText(big); 
    String trim = getTextText(trim); 
    String desiredText = big.replaceAll(trim, ""); 
相關問題