2013-09-24 187 views
2

我使用硒webdriver在我的網頁上使用xpath獲取一些文本。使用Xpath從span-webdriver獲取文本

這是代碼

<a class="ng-binding" data-toggle="tab" href="#tabCreatedByMe"> 
          Created By Me        
<span class="badge ng-binding">3</span> 
</a> 

我需要數 '3'。這個數字不斷變化,每次

我做了這個代碼,但它不返回任何東西

public String getAmountSubtab1() throws InterruptedException{ 
    WebElement s = driver.findElement(By.xpath("//*[@class='badge ng-binding']")); 
    return s.getText(); } 

建議?

+1

你的意思是's.getText'什麼都不返回?如果將其更改爲'.findElements',並檢查返回的集合的大小,它具有多少個元素?如果你讓你的XPath更有針對性怎麼辦? '// span [@ class ='badge ng-binding']' – Arran

+0

當你說它什麼都不返回時,這是否意味着你得到了空值?或者你看到任何NoSuchElementExceptions? 另外,不建議使用Xpath。我建議你使用CSS選擇器。 – LINGS

+0

你使用IE嗎?正如Arran所說的那樣,driver.findElement(...)無法正常工作。 – ovejaexiste

回答

1

你確定你只有一個帶有類標記ng-binding的跨度它可能是你在這之前可能有另一個跨度與相同的類名稱。建議在識別元素時不要使用類名。使用這個xpath。應該管用。

//a[contains(text(), 'Created By Me')]/span