2017-03-03 41 views
-1

的getText()不硒的webdriver

<ul id="name" class="abc"> 
 
    <li class="def"> 
 
    <a class="ghi"> 
 
     <i style="background-color: transparent;">Welcome {{username}} </i> 
 
    </a> 
 
    </li> 
 
</ul>

硒IDE給文本:

storeText   //ul[@id="name"]/li/a/i  a 
echo    ${a} 

文本 「歡迎{{用戶名}」 正確顯示。

但是,在Selenium WebDriver中,我無法獲取文本。

driver.findElement(By.xpath("//ul[@id='name']/li/a/i")).getText(); 

上面的代碼行返回一個空值。

+0

看到這個http://stackoverflow.com/questions/18637032/get-text-from-xpath-located-element-using-selenium-webdriver-with-javascript –

+0

WebElement.getText()不適合我。我正在使用Chrome瀏覽器。不過,我可以在Firefox瀏覽器中使用Selenium IDE獲取文本。 – Lawrence

+0

分享'Html'不是'圖像'。 –

回答

0

你顯然首先需要使用任何定位器(這裏我使用Xpath)來獲取文本,並將其設置爲一個字符串供以後使用。下面的代碼將存儲Xpath中包含的文本。

String nameOfStringGoesHere; 
nameOfStringGoesHere=driver.findElement(By.xpath("//ul[@id="name"]/li/a/i ")).getText();` 

要在你的腳本

Assert.assertTrue("What you want your error message to appear as...!", nameOfStringGoesHere.contains("What you want to assert")); 

主張對存儲的文本以後在這個例子中,它會得到存儲的XPath中的文本,並檢查是否值是「你是什麼想要斷言「,如果不是,那麼它會拋出錯誤信息」你想讓你的錯誤信息顯示爲...!「