首页 > 解决方案 > 使用 selenium 将元素滚动到屏幕中间

问题描述

有没有办法将元素滚动到屏幕中间?我试过了:

((JavascriptExecutor)driver).executeScript("arguments[0].scrollIntoView();", element);

但它总是在顶部滚动。

标签: javaselenium

解决方案


滚动视图()

scrollIntoView()方法将指定元素滚动到浏览器窗口的可见区域。

句法 :

element.scrollIntoView(alignTo)

参数 :

  • alignTo(Boolean) :可选参数,其中:

    • true: 元素的顶部将与可滚动祖先可见区域的顶部对齐

    • false:元素的底部将与可滚动祖先可见区域的底部对齐。

    • skipped:它将滚动到元素的顶部。

注意:根据其他元素的布局,某些元素可能无法完全滚动到顶部或底部。


根据您的用,当您想要将元素滚动到屏幕中间而不是scrollIntoView()用作替代方案时,您可以使用以下任一选项滚动窗口

  • 向下滚动
    • scroll()

      ((JavascriptExecutor)driver).executeScript("scroll(0, 250);");       
      
    • window.scrollBy()

      ((JavascriptExecutor)driver).executeScript("window.scrollBy(0,250)", "");
      

推荐阅读