如何测试文本溢出元素

时间:2017-09-13 09:10:01

标签: selenium-webdriver overflow selenium-chromedriver

当text属性设置为

  text-overflow: ellipsis;

溢出的文字将显示为" XX..." (见截图了解更多) 如何在webdriver中找到溢出的text/element

提前致谢

Screenshot of Overflowed text

2 个答案:

答案 0 :(得分:0)

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

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

如果我没记错的话,有些浏览器会改用textContent

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

这应该可以获得该元素内的全文。

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

答案 1 :(得分:0)

如果您的项目中有jQuery,您可以编写自己的选择器:

$.expr[':'].truncated = function (e) {
  // you *might* want to check if css property "text-overflow"
  // is set to "ellipsis" as well, to filter other truncations:
  return e.offsetWidth < e.scrollWidth;
};

从那里开始:

items = $('.your-selector:truncated');

(严重依据答案here