Protractor 量角器向左滚动,但类有多个实例
我有一个带有Protractor 量角器向左滚动,但类有多个实例,protractor,Protractor,我有一个带有class=“objbox”的元素,但该属性有多个实例 我用于滚动的当前代码是browser.executeScript('$(“.objbox”).scrollLeft('+strPixels+')但是由于有多个实例,它似乎正在获取第一个实例,并且没有成功地滚动到目标元素 我想知道是否可以在我的代码中包含父元素,或者是否有不同的解决方法 <div class="dhxgrid2-wrapper"> <div class="dhtmlxgrid-contai
class=“objbox”
的元素,但该属性有多个实例
我用于滚动的当前代码是browser.executeScript('$(“.objbox”).scrollLeft('+strPixels+')代码>但是由于有多个实例,它似乎正在获取第一个实例,并且没有成功地滚动到目标元素
我想知道是否可以在我的代码中包含父元素,或者是否有不同的解决方法
<div class="dhxgrid2-wrapper">
<div class="dhtmlxgrid-container gridbox">
<div class="objbox">
...
</div>
</div>
</div>
...
这是可能的
你需要做的是以下几点
//定义父级的elementfinder,选择选项A或B
常量elementFinderWithParentA=$('.dhtmlxgrid container.objbox');
//或
常量elementFinderWithParentB=$('.dhtmlxgrid容器').$('.objbox');
//要滚动的数量
常数左=50;
browser.executeScript('arguments[0].scrollLeft=arguments[1];',elementFinderWithParentA,scrollLeft);
//或者让它更具可读性,创建一个用于滚动的函数
//并将其传递给浏览器。executeScript
函数scrollToLeft(元素,scrollAmount){
element.scrollLeft=滚动金额;
}
executeScript(scrollToLeft,elementFinderWithParentA,scrollLeft)代码>顺便说一句,objbox已成功捕获,但滚动不起作用。我通过获取objbox的属性确认了这一点。您是否通过控制台仅使用Chrome中的Devtools进行了尝试?然后它会滚动吗?在控制台中,它可以正常滚动,$(“.objbox”)。向左滚动(800)
,但它会自动使用第二个元素。执行时,不会发生任何事情。然后在CSS选择器中使用。我的第一个解决方案是添加parentyeah,元素被正确捕获,但scroll不起作用。