scrollIntoView 在找到元素之前停止

Posted

技术标签:

【中文标题】scrollIntoView 在找到元素之前停止【英文标题】:scrollIntoView stops before finding the Element 【发布时间】:2021-11-19 13:24:44 【问题描述】:

问题是 scrollIntoView 滑动然后向上查找元素。但是当您可以通过向下滑动来刷新站点时,它只会向下滚动一次。为什么会这样,是否有不同的可能性? 代码片段:

await driver.$(`android=$`new UiScrollable(new UiSelector().scrollable(true)).setSwipeDeadZonePercentage(0.4) .scrollIntoView(new UiSelector().resourceId("resource-id of the element"))``);

【问题讨论】:

【参考方案1】:
  var j = 0;
  var i = 0;

  for (; i < 100; i++) 
    sleep(500);
    await driver.$(`android=$`new UiScrollable(new UiSelector().scrollable(true)).setSwipeDeadZonePercentage(0.4) .scrollForward()``);
    sleep(500);
    var list = await driver.findElements("id", "resource-id of the element");
    if(list.length != 0) 
      j += 1;
      if (j == 3) 
        await driver.$('//android.widget.ImageView[@resource-id="resource-id of the element"]').click();
        sleep(500);
        i = 100
      
    
    if(i == 99) 
      console.log("error message")
    
  

【讨论】:

以上是关于scrollIntoView 在找到元素之前停止的主要内容,如果未能解决你的问题,请参考以下文章

ScrollIntoView() 可以找到html元素

js scrollIntoView 滑动问题

如何在角度 2+ 的元素上调用 scrollIntoView

scrollIntoView调用元素

h5之scrollIntoView控制页面元素滚动

使用带有固定位置标题的 scrollIntoView