java如何在网页中的特定div中垂直向下滚动
我已经搜索了所有的论坛,但我没有得到我的问题的正确答案。我要测试的web页面下面隐藏了一个链接,我试图通过使用xpath或元素的ID属性来手动查找它,但在运行web驱动程序脚本时无法找到它。即使它在该元素上没有给出任何错误,我在下一个命令行上也会得到一个错误
我在论坛上找到了下面的代码,它可以滚动整个页面。我不想这样,我想在一个特定的div区域垂直向下滚动,如屏幕截图中所示
JavascriptExecutor jsx = (JavascriptExecutor)driver;
jsx.executeScript("ctl00_Menu1_scrollDiv.scrollBy(0,250)", "");
div id for this is "ctl00_Menu1_scrollDiv"
Element id: ctl00_Menu1_DlMenu_ctl09_LnkMenuname
请在这个问题上帮助我。提前谢谢
我们将不胜感激
# 1 楼答案
首先,您不应该仅通过id引用元素。您应该设置scrollTop以将其滚动到某个位置
# 2 楼答案
检查这是否适合你
这将给出div中滚动的当前值。仅当您希望在div中动态滚动到某个点时才使用此选项。否则,可以在animate()中硬编码scrollTop值
使用滚动的当前值,可以参数化下面给定的scrollTop参数
我用它在webdriver框架中以编程方式滚动一个大div。此外,如果AUT在浏览器中加载了jQuery,这也会起作用
在Java中:
# 3 楼答案
这是umendra tomar,我已经找到了非常简单的解决方案,请使用下面的代码使用selenium在html中滚动特定的div
不用担心,我们可以在java中使用
javascriptExecutor
# 4 楼答案
基于this post的非JQuery解决方案
其中
divWithScrollbarElement
是要滚动的div元素,elementToScrollTo
是要使其可见的子元素(在我的例子中,它实际上是我最初试图查看的元素的父元素)。如果elementToScrollTo
实际上还不在DOM中,则可能需要使用脚本一次以尽可能向下滚动,然后再次加载更多元素