Каков наиболее надежный и эффективный способ найти все элементы, имеющие свиток на странице?Поиск всех элементов со свитком
В настоящее время я думаю об использовании element.all()
с filter()
сравнения значений атрибутов height
и scrollHeight
:
element.all(by.xpath("//*")).filter(function (elm) {
return protractor.promise.all([
elm.getAttribute("height"),
elm.getAttribute("scrollHeight")
]).then(function (heights) {
return heights[1] > heights[0];
});
});
Но я не уверен в правильности и эффективности такого подхода.
Используя ванильный JS вы можете сделать что-то вроде этого 'Array.prototype.slice.call (document.querySelectorAll ('*')). filter (function (el) {return el.offsetHeight! == el.scrollHeight}) ', но если вы выполните его на этой странице, вы увидите некоторые элементы без полос прокрутки, так что я не уверен. Просто хотел прокомментировать это, у меня нет конкретного ответа (пока). – A1rPun
@AndrewTempleton не волнуйтесь, рассмотрит и примет решение о наградах сегодня. И спасибо за ответ! – alecxe