2013-07-05 81 views
-1

我有一個關於Java中的Selenium WebDriver .getText()函數的問題。 我試圖訪問一些文本沒有任何積極的結果。甚至不在WebElement對象中。我想獲取的文字是:「電子郵件通訊 - 」selenium webdriver getText()

從那裏我取這樣做的HTML代碼如下所示:

<a class="footer" href="/contact/email-sign-up/" onclick="aloneTracking('footerEmailSignUp')">eNewsletter Sign Up</a> 

和Java代碼如下所示:

List<WebElement> idElemList = driver.findElements(By.className("footer")); 

    System.out.println(idElemList.size()); 
    String str = ""; 
    if (idElemList.size() > 0) { 
     WebElement firstElement = idElemList.get(0); 
     str = firstElement.toString(); 
     System.out.println("**** : " + str); 
     str = firstElement.getText(); 
     System.out.println("¨¨" + str); 
    } 

我第一個System.out.println()我得到的列表是9個元素。

在第二:

<a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer"> 

第三:

<a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer"> 

我真的不知道如何獲取的文字!任何知道的人?

+0

你得到9個元素的列表,但此時你只是想'的getText()'在第一個。你確定這是正確的元素嗎?你試過其他8個嗎? –

+0

實際上,我需要獲得所有9個元素,並且對其餘元素也有同樣的問題。 我只是把第一個元素作爲例子。我真的不明白爲什麼我無法獲得該文本。如果我在同一個網站的另一個網頁上使用相同的模板運行相同的代碼,它就可以工作。 我覺得很奇怪,如果我不做element.toString(),那麼文本就會顯示出來。 – sueco

回答

0

更簡單的解決辦法是找到鏈接文本的元素,並調用gettext的該元素的

By.ByLinkText By.ByPartialLinkText

+0

我試圖通過By.linkText找到元素,但它不起作用。 這就像文本不存在。 – sueco

+0

任何人都知道,請幫忙? 我仍然面臨這個問題 – sueco

0

在第二和第三個是字符串str後的值這樣做的: 第二內容:System.out.println的

firstElement = idElemList.get(0); 
str = firstElement.toString(); 
System.out.println("xxxx : " + str); 

結果:

xxxx : <a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer"> 

第三:

WebElement firstElement = idElemList.get(0); 
str = firstElement.getText(); 
System.out.println("¨¨ : " + str); 

的System.out.println的結果:

¨¨ : <a onclick="aloneTracking('footerEmailSignUp')" href="/contact/email-sign-up/" class="footer">