2014-12-05 72 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

相关问题