量角器滚动但类有多个实例

时间:2017-05-29 09:20:42

标签: protractor

我有一个class="objbox"的元素,但此属性有多个实例。

我用于滚动的当前代码是browser.executeScript('$(".objbox").scrollLeft(' + strPixels + ')');,但由于有多个实例,似乎它正在获取第一个实例并且滚动未成功完成到目标元素。

我想知道是否可以在我的代码中包含父元素,或者是否有不同的解决方法。

<div class="dhxgrid2-wrapper">
    <div class="dhtmlxgrid-container   gridbox">
        <div class="objbox">
            ...
        </div>
    </div>
</div>

1 个答案:

答案 0 :(得分:1)

这是可能的。

您需要做的是以下

&#13;
&#13;
// Define the elementfinder of your parent, pick option A or B
const elementFinderWithParentA = $('.dhtmlxgrid-container .objbox');
// Or
const elementFinderWithParentB = $('.dhtmlxgrid-container').$('.objbox');
// The amount to scroll
const scrollLeft = 50;

browser.executeScript('arguments[0].scrollLeft = arguments[1];', elementFinderWithParentA, scrollLeft);

// Or making it more readable, make a function for the scrolling
// and pass it to the browser.executeScript

function scrollToLeft(element, scrollAmount) {
  element.scrollLeft = scrollAmount;
}
browser.executeScript(scrollToLeft, elementFinderWithParentA, scrollLeft);
&#13;
&#13;
&#13;

希望有所帮助