2017-09-13 11 views
0

XX...”(详见截图) 我怎么能找到的webdriver的溢出text/element当文本属性设置为</p> <pre><code>text-overflow: ellipsis; </code></pre> <p>溢出的文本将显示为如何测试文本溢出元素

在此先感谢

Screenshot of Overflowed text

+0

你试过了什么? – Aby

+0

我使用xpath“// span [string-length(text())> 2]”来查找文本长度> 2的元素。但是,我测试的是多语言应用程序,“> x”规则没有始终适用于其他语言。所以我想知道是否有更好的方法来找到溢出的元素 – vChen

回答

0

可能做到这一点的最简单/最好的方法是使用JS innerText属性,例如

driver.findElement(lcoator).getAttribute("innerText"); 

如果我没有记错,一些浏览器使用textContent来代替。

driver.findElement(lcoator).getAttribute("textContent"); 

这应该让你在该元素内的全文。

您也可以拉动innerHTML并解析它(如果需要)或从元素中删除text-overflow样式,但这些更难/更复杂。

+0

感谢您的回复。是的,我能够使用getAttribute(“innerText”)获取innerText,但提取的文本是全文,我仍然不知道它们是否溢出或不...我正在测试多语言应用程序,如果我使用“text()> x”来检查文本是否溢出,那么我需要为不同的语言使用不同的x ......有什么方法可以知道文本是否溢出? – vChen

+0

我不认为我明白你在测试什么。你不能只检查最后一个字符是否是省略号,然后检查innerText并确保长度与溢出文本不一样?听起来你最终会验证CSS属性是否正常工作。 – JeffC

相关问题