2014-12-05 42 views
1

以下文本顯示在網頁中。Selenium Webdriver - Java - 在末尾驗證帶有三個點的部分文本顯示

enter image description here

的HTML代碼如下 -

<tr> 
    <td valign="middle" align="left"> 
    <div class="ellipsis includeExcludeWidthIE8" data-bind="html: htmlEncode(path) +   htmlEncode(pathExtensions), attr: { title: htmlEncode(path) + htmlEncode(pathExtensions) } " style="max-width: 425px; display: inline-block; vertical-align: bottom;" title="HKCR\abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop">HKCR\abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop</div> 
    </td> 
    </tr> 

使用硒webdriver的與Java,我要檢查,只有部分文本顯示,並在最後3個點。 從HTML代碼中,我只能看到全文「abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnop」,而不是最後有3個點的部分文本。 當我編寫下面的代碼時,它輸出全文而不是3點的部分文本。

String text1 = Login.driver.findElement(By.xpath(".//*[@id='ccleaner_options_exclude_div']/table/tbody/tr/td[1]")).getText(); 

所以,我很困惑如何驗證只有部分文本實際顯示。 有人可以幫忙嗎?

+1

這就是html。與硒無關 – Saifur 2014-12-05 13:49:50

+0

請再次清除問題...您是否希望最終在控制檯中打印帶有「..」的文本,或者您是否想要驗證文本是否包含「..」結束? – 2014-12-05 13:54:18

+0

我想驗證只有部分文本3點顯示在末尾 – user3657330 2014-12-05 13:56:09

回答

0

請嘗試以下代碼,並回復

String text1 = Login.driver.findElement(By.xpath("//div[ends-with(@title,'...')]")).getText(); 
+0

嗨Rupesh,我使用你的代碼時出現以下錯誤 - org.openqa.selenium.InvalidSelectorException:給定的選擇器// div [ends-with (@title,'...')]無效或不會導致WebElement。 – user3657330 2014-12-05 15:04:27

+0

嘗試下面的xpath // div [@ * [ends-with(。,'...')]] – 2014-12-05 15:10:51

+0

嗨Rupesh - 當我使用上面的代碼時得到同樣的錯誤 - org.openqa.selenium.InvalidSelectorException:給定選擇器// div [@ * [ends-with(。,'...')]]無效或不導致WebElement。 – user3657330 2014-12-05 15:20:47

2

這裏的問題是,硒檢測不捕獲文本溢出省略號隱蔽的方式「知名度」。可見性看起來沒有一套標準listed here in the webdriver specs,而CSS屬性/值「text-overflow:ellipsis」不是一個。

您仍然可以測試頁面上的元素使用此CSS屬性。用Selenium來驗證你想要的div有你希望他們有.getCssValue(CSS的文本溢出值),例如,

String cssvalue = Login.driver.findElement(By.xpath(".//*[@id='ccleaner_options_exclude_div']/table/tbody/tr/td/div")).getCssValue("text-overflow"); 

,並檢查值是「省略號」。只要該值已設置,理論上,瀏覽器應該截斷文本並在溢出之前添加省略號!

+0

有趣的是,當我檢查檢查員時,我看到'ellipsis',但是這個函數檢索'clip'(這實際上是從DOM中缺失的)。我想知道爲什麼。 – 2016-12-16 01:33:54

相關問題