我正在角度应用程序中测试无限滚动。滚动条是主页中表格的一部分。主页本身没有任何滚动条,如果我将鼠标悬停在表格上并滚动,将会加载更多元素。
最初,屏幕上显示50行,其中表中只有10行可见。滚动到最后一个元素时,下一个50将被加载到UI中。这将一直持续到检索到所有元素为止。
我尝试单击表格的第一行并使用滚动
dashboard.Row1.click() browser.executeScript(“ window.scrollBy(0,200)”);
这不会滚动表格。我不确定这是否是解决问题的正确方法。我也尝试过使用偏移量,但也无济于事
这是我的HTML:
<tbody infinite-scroll="$ctrl.loadInventories()" infinite-scroll-container="'.table-wrapper'" md-body="" class="md-body ng-isolate-scope">
<!-- ngRepeat: data in $ctrl.inventories | orderBy: myOrder -->
<tr class="" ng-repeat="data in $ctrl.inventories | orderBy: myOrder" style="">
<!-- ngRepeat: data in $ctrl.inventories | orderBy: myOrder -->
<tr class="" ng-repeat="data in $ctrl.inventories | orderBy: myOrder" style="">
<!-- ngRepeat: data in $ctrl.inventories | orderBy: myOrder -->
<tr class="" ng-repeat="data in $ctrl.inventories | orderBy: myOrder" style="">
<!-- ngRepeat: data in $ctrl.inventories | orderBy: myOrder -->
<tr class="" ng-repeat="data in $ctrl.inventories | orderBy: myOrder" style="">
答案 0 :(得分:1)
您可以尝试使用scrollIntoView()
滚动到表格的最后一行。就像
const tableRows = element.all(by.css('tbody tr'));
browser.executeScript(e => e.scrollIntoView(), tableRows.last());
或更紧凑,也许可读性更低
browser.executeScript(e => e.scrollIntoView(), $$('tbody tr').last());